Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1904to1908
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
In B:B zu bestimmter Zelle springen
05.11.2022 08:01:24
Wallenfang
Hallo Excel-Fans,
habe eine lange Tabelle mit alphabetisch geordneten Namen in Spalte B.
Durch Eingabe eines beliebigen Anfangsbuchstabens in Zelle C1
soll zur ersten Zelle (in Spalte B) mit diesem Anfangsbuchstaben gesprungen werden.
Hoffe mich verständlich ausgedrückt zu haben und hoffe auf eine Lösung :-)
Vielen Dank im Voraus.
Schöne Grüße
Roland

27
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Etwas anders
05.11.2022 08:25:26
lupo1

Private Sub Worksheet_Change(ByVal T As Range)
If T.Column = 3 Then
Range("B" & WorksheetFunction.Match(T, Range("B:B"))).Select:
Application.EnableEvents = 0
Range("C:C").Clear
Application.EnableEvents = 1
End If
End Sub
Wenn Du in Zeile 41562 bist, möchtest Du möglicherweise nicht zurück zu C1, um den nächsten Anspringpunkt zu wählen. Daher gilt die Eingabe für die ganze Spalte C. Und wird umgehend wieder gelöscht.
Korrektur der 3. Zeile
05.11.2022 08:37:41
lupo1

  On Error Resume Next
Range("B" & WorksheetFunction.Match(T, Range("B:B"), False)).Select

Anzeige
AW: Korrektur der 3. Zeile
05.11.2022 09:24:12
Roland
Hallo Lupo1,
erst einmal vielen Dank für die Blitzantwort.
Habe den Code inkl. Korrektur in den Code des Tabellenblatts eingegeben, leider tut sich nach Eingabe eines beliebigen Buchstabens in Zelle C1 nichts.
Was hab ich falsch gemacht?
Gruß Roland

Private Sub Worksheet_Change(ByVal T As Range)
If T.Column = 3 Then
On Error Resume Next
Range("B" & WorksheetFunction.Match(T, Range("B:B"), False)).Select
Application.EnableEvents = 0
Range("C:C").Clear
Application.EnableEvents = 1
End If
End Sub

AW: Korrektur der 3. Zeile
05.11.2022 09:50:42
onur
nach Eingabe eines beliebigen Buchstabens in Zelle C1 PLUS ENTER.
Anzeige
AW: Korrektur der 3. Zeile
05.11.2022 09:55:35
Roland
Enter habe ich selbstverständlich gedrückt. Es passiert nichts. C2 ist danach aktiviert.
AW: Korrektur der 3. Zeile
05.11.2022 10:04:09
onur
Lass mal "On Error Resume Next" weg, dann siehst du auch, warum.
AW: Korrektur der 3. Zeile
05.11.2022 10:31:07
Roland
Hallo onur,
sorry es tut sich immer noch nichts. Vielleicht hab ich mich ja falsch ausgedrückt.
Nach Eingabe eines Buchstabens in Zelle C1 soll in die erste Zelle in der Spalte B gesprungen werden, deren Anfangsbuchstabe dem in Zelle C1 eingegebenen Buchstaben entspricht.
Beispieldatei:
https://www.herber.de/bbs/user/156023.xlsm
Grus Roland
Ah, ich habs
05.11.2022 10:40:23
lupo1
Ich hatte das False als 3. Argument ergänzt, damit der Anfang angesprungen wird, statt des Endes. Das ist natürlich Quatsch, weil in B:B ja mehr als dieser eine Buchstabe pro Zelle steht. Und somit kann der VERGLEICH nicht klappen.

Private Sub Worksheet_Change(ByVal T As Range)
If T.Column = 3 Then
On Error Resume Next
Range("B" & WorksheetFunction.XMatch(T, Range("B:B"), 1, 2)).Select
Application.EnableEvents = 0
Range("C:C").Clear
Application.EnableEvents = 1
End If
End Sub

Anzeige
AW: Ah, ich habs
05.11.2022 10:46:25
onur
Range("C:C").Clear ?
Da stehen doch Daten drin.
Die Datei kam später. Interessiert mich nicht!
05.11.2022 11:34:21
lupo1
AW: Die Datei kam später. Interessiert mich nicht!
05.11.2022 14:59:13
Daniel
Als hochempathischer Mensch sollte man sowas aber vorausahnen können und nicht nur das in Betracht ziehen, was wortwörtlich gesagt wurde das wäre dann eher autistische statt empathisch)
Ich darf es mir durchaus einfach machen ...
05.11.2022 17:29:48
lupo1
AW: Korrektur der 3. Zeile
05.11.2022 10:11:58
onur
Liegt daran, dass du nur die im Editor angebotenen Events nehmen musst statt selbstgeschriebene, Das selbstgeschriebene reagiert zwar auf Eingaben, spuckt aber mit T statt Target nicht aus, was verändert wurde.
Oh ... das hat mir noch nie jmd. erklärt
05.11.2022 10:15:05
lupo1
Dann werde ich wohl das Target statt T gelegentlich so belassen ;)
Anzeige
AW: Oh ... das hat mir noch nie jmd. erklärt
05.11.2022 10:20:03
onur
Wusste ich selbst auch nicht, da ich aus Faulheit schon nur die Angebotenen nehme. :)
Kopfzeile darf nicht verändert wdn, ...
06.11.2022 04:50:10
Luc:-?
…Lupo,
sonst wird Event (ggf) nicht erkannt. Deshalb auswählen und einfügen.
Morhn, Luc :-?
AW: Kopfzeile darf nicht verändert wdn, ...
06.11.2022 16:49:21
Daniel
Naja, Ändern darf man schon einiges, aber halt nicht alles.
Z.B darf man "Private" in "Public" ändern (braucht man, wenn man die Eventnakros aus anderen Makros heraus direkt aufrufen will, ohne das Event auszulösen)
Und man darf die Parameternamen ändern.
Nicht verändert werden dürfen Makroname, so wie Anzahl und Typen der Übergabeparameter.
Aber das Ändern der Parameternamen ist jetzt auch nicht wirklich sinnvoll und trägt eher dazu bei, Menschen zu verwirren, die den Quellcode lesen.
Deswegen sollte man die Kopfzeile von Eventmakros so über nehmen, wie sie vom System automatisch erstellt wird.
Gruß Daniel
Anzeige
AW: Etwas anders
05.11.2022 11:03:56
Daniel
Hi Lupo
Wenn man die erste Zeile fixiert, ist C1 immer sichtbar, also kein Problem, nach C1 zu gehen, egal welche Zeilen gerade angezeigt werden.
Dann kann man Spalte C auch für Daten nutzen und muss sie nicht leer lassen.
Welchen Vorteil hat es, das automatischberteugte "Target" durch "T" zu ersetzen, außer das man ein paar Zeichen weniger tippen muss?
Gruß Daniel
Ich wusste, dass das mit der Fixierung kommt
05.11.2022 11:13:15
lupo1
1. "möchte ich mir von dem Fernseher nicht vorschreiben lassen, wohin ich zu gucken habe". Schon gar nicht eine Fixierung.
2. ist auch die Anwahl von C1 total nervig, auch mit Fixierung. Die direkte Zelle neben B ist viel besser und näher.
Anzeige
AW: Ich wusste, dass das mit der Fixierung kommt
05.11.2022 12:07:30
Daniel
Naja, du erkaufst das damit, dass Spalte C nicht mit Daten gefüllt werden kann, auch ein erheblicher Einschnitt.
Du hättest ja auch das Doppelklick-Event in Verbindung mir einer Inputbox zur Abfrage des gesuchten Namens vorschlagen können.
"Gibt so wenig Spalten, man nicht nutzen kann"
05.11.2022 17:31:07
lupo1
AW: Etwas anders
05.11.2022 11:11:49
Daniel
Hi
Probiert mal:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim Ziel AS Range
If Target.Address(0, 0) = "C1" then
Set Ziel = Columns(2).Find(Target.value & "*"; lookat:=xlwhole, lookin:=xlvalues, matchcase:=False)
If Ziel is nothing then
Beep
Else
Application.goto Ziel
ActiveWindow.scrollrow = Ziel.row
End if
End if
End sub
Gruß Daniel

Anzeige
AW: Etwas anders
05.11.2022 18:43:07
Roland
Hallo Daniel,
der Code funktioniert leider nicht. Es passiert nichts nach ENTER.
Gruß Roland
AW: Etwas anders
06.11.2022 16:37:29
Daniel
Setzte mal einen Haltepunkt an den Anfang des Codes.
Dann siehst du, ob das Event ausgeführt wird oder nicht.
Wenn es ausgeführt wird, gehe mal im Einzelstep durch und prüfe, wo es abbricht, bzw ob die Bedingung beim if erfüllt ist oder nicht.
Wenn das Makro gar nicht ausgeführt wird, starte mal Excel neu.
Wenn das nicht hilft, kopieren mein Makro nicht vollständig, sondern lege es über die Combobxen neu an und füge dann den Quellcode zwischen Kopf- und Endzeile ein.
Gruß Daniel
Anzeige
AW: Etwas anders
07.11.2022 14:02:16
Roland
Hallo Daniel,
kannst du mir bitte kurz erläutern wie ich das machen soll, da ich in VBA nicht so fit bin. Bisher habe ich das Makro in das Codemodul des Tabellenblattes kopiert.
Gruß Roland
AW: Etwas anders
08.11.2022 10:23:18
Daniel
ich hab doch beschrieben, was du tun sollst.

307 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige