Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
572to576
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
572to576
572to576
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

SelectionChange(ByVal Target As Excel.Range)

SelectionChange(ByVal Target As Excel.Range)
23.02.2005 14:45:04
Stefan
Hallo Excel-Profis,
bin leider kein VBA-Experte,- schummle mich durch, etwas abschreiben etwas lesen ...
Untere Prozedur habe ich mir "zusammengelesen" und das wahrscheinlich schlecht, weils einfach nicht funktioniert
Also nun zum dem was ich eigentlich wollte...
...Möchte das beim Auswählen der Zelle A9, dass ein Makro abläuft, das funktioniert auch
bzw.wenn die Zelle y17 angewählt wird ,dann soll die Zelle A7 "selected" werden.
Meine Lösung funktioniert leider dann doch nicht, wie kann ich es erreichen
Das ist mein Makro "ehem,heul"

Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
If Target.Address = "$A$9" Then
Neuer_Artikel
ElseIf Target.Address = "$y$17" Then
Range("A7").Select
End If
End Sub

Gruß Stefan
AW: SelectionChange(ByVal Target As Excel.Range)
bst
Hi Stefan,
Address liefert was in Großbuchstaben.
Nimm also "$Y$17".
HTH, Bernd
das ist nicht die Lösung leider nicht
Stefan(Grüni)
Hallo Bernd.
das ist es leider nicht
stefan
AW: SelectionChange(ByVal Target As Excel.Range)
bst
Hallo Stefan,
bei mir funktioniert das.
Schicke doch sonst mal Deine - ggf. verkleinerte - Datei.
Gruß, Bernd
--
Option Explicit

Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
If Target.Address = "$A$9" Then
Neuer_Artikel
ElseIf Target.Address = "$Y$17" Then
Range("A7").Select
End If
End Sub

Sub Neuer_Artikel()
MsgBox "NeuerArtikel"
End Sub
Anzeige
AW: SelectionChange(ByVal Target As Excel.Range)
Stefan
Hey Bernd
Danke für deine Überprüfung und du hast recht, aber leider habe ich damit der Benutzer durch Enter(ist halt näher am Zahlenblock) durch die Zellen b17 bis Y17 geführt wird, einen Bereich markiert dessen Ende halt Y17 ist (Markro "Neuer_Artikel" mit letzter Zeile Range("b17:Y17").Select) Ich denke, daß ist der Fehler weiss aber nicht wie ich dies umgehe
Hast noch einen Tipp?
Gruß Stefan

AW: SelectionChange(ByVal Target As Excel.Range)
bst
Abend Stefan,
daran sollte es eigentlich nicht liegen.
Ohne Deine Datei und/oder Dein Makro gesehen zu haben, sehe ich keine Chance.
Gruß, Bernd
AW: SelectionChange(ByVal Target As Excel.Range)
An
Hallo Bernd
hier mein Makro

Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
If Target.Address = "$A$9" Then
Neuer_Artikel
ElseIf Target.Address = "$Y$17" Then
Range("A7").Select
End If
End Sub

Sub Neuer_Artikel()
'
' Makro3 Makro
' Makro am 22.02.2005 von Stefan Gruenert aufgezeichnet
Range("a17").Activate
If Not IsNumeric("a17") Then ' Hier sollte ansich auch geprüft werden ob ein text in
' in der Zelle steht
Range("a17").Value = Range("a7")
Range("B17:Y17").Select

Else
Rows("17:17").activate
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Selection.Insert Shift:=xlDown
Range("a17").Value = Range("a7")
Selection.Copy
Range("A17").Activate
ActiveSheet.Paste
Range("B17:Y17").Select


End If
Anzeige
AW: SelectionChange(ByVal Target As Excel.Range)
bst
Hallo Stefan,
sollte doch eigentlich tun. Bis auf die Abfrage halt. Ersetze:
'If Not IsNumeric("a17") Then' durch sowas 'If Not IsNumeric(Range("a17").Value) Then'
Übrigens, setzte Dir im VBA einen Breakpoint auf die Zeile "If Target.Address = ..." (F9) und schau dann im Einzelschrittmodus (F8) nach was passiert.
Wenn ich's richtig verstanden habe, sollte sowas eigentlich reichen.
HTH, Bernd
--
Option Explicit

Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
If Target.Address = "$A$9" Then
Neuer_Artikel
ElseIf Target.Address = "$Y$17" Then
Range("A7").Select
End If
End Sub

Sub Neuer_Artikel()
Application.EnableEvents = False
If IsNumeric(Range("a17").Value) Then
Rows(17).Formula = Rows(17).Value
Rows(17).Insert Shift:=xlDown
End If
Range("a17").Value = Range("a7").Value
Range("B17:Y17").Select
Application.EnableEvents = True
End Sub
Anzeige
AW: SelectionChange(ByVal Target As Excel.Range)
Stefan
Hallo Bernd
zunächst für Deinen Code für "neuer_Artikel" dankeschön , ist doch einfacher als meiner

aber mit dem Haltepunkt gibts Probleme, es debugged beim Haltepunkt egal welche Zelle ich ansteuere.
Es ist immernoch so, daß bei Zahlen Eingabe in das Range("B17:Y17") dieses immer wieder durchlaufen(Zahleneingabe) wird nach y17 folgt dann wieder b17
Na ja, wer weis was ich falsch eingestellt habe,
wenn Du noch was weißt, wäre das super, ansonsten kann ich mich nur für deine Bemühungen bedanken
Gruß Stefan
AW: SelectionChange(ByVal Target As Excel.Range)
bst
Hallo Stefan,
&gt aber mit dem Haltepunkt gibts Probleme, es debugged beim Haltepunkt egal welche Zelle ich ansteuere.
Ja. Das Ereignis Worksheet_SelectionChange wird halt immer dann aufgerufen, wenn Du eine andere Zelle anwählst. Laß es ggf. einfach via F5 weiterlaufen.
Oder setze den Haltepunkt woanders hin. Z.B. in die erste Codezeile von Neuer_Artikel.
&gt Es ist immernoch so, daß bei Zahlen Eingabe in das Range("B17:Y17") dieses immer wieder durchlaufen
Kann ich nicht nachvollziehen. Hast Du vielleicht noch andere Ereignisse benutzt ?
Vielleicht ein Worksheet_Change ?
cu, Bernd
Anzeige
AW: SelectionChange(ByVal Target As Excel.Range)
Stefan
Hallo Bernd
Nein ich denke nicht
gruß Stefan
AW: SelectionChange(ByVal Target As Excel.Range)
bst
Hi Stefan,
dann weiß ich nicht weiter. Schick halt mal Deine ganze Datei. Ggf. ge-zipped.
cu, Bernd

307 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige