Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Combobox.value "Ab Zeile X" suchen & markieren
#1
Servus beinand
ich hab im Internet folgenden Code gefunden :


Code:
Private Sub ComboBox3_Change()
Dim loZeile As Long
  On Error Resume Next
  loZeile = Application.Match((ComboBox3.Value), ActiveSheet.Columns(4), 19)
  If Err > 0 Then
     MsgBox "Kunde nicht gefunden"
  Else
     Application.GoTo reference:=Cells(loZeile, 1), Scroll:=True
  End If
  On Error GoTo 0
  Err.Clear
End Sub

für mein erstes vorhaben, hat dieser einwandfrei funktioniert.

Auf dem nächsten Tabellenblatt habe ich jedoch zwei Sachen zu beachten, wo ich nicht genau weiß, wie ich diese jetzt einbaun soll.

1. Der Code sucht ab der ersten Zeile, er darf aber erst ab Zeile 19 beginnen.
In den Zeilen 1-18, werden die Zeilen (zur Übersicht) dargestellt, die ich ab Zeile 19 ausgewählt hab.

Sobald ein Wert ausgewählt ist, springt er natürlich in einer der Zeilen 1-18. Allerdings soll er die eigentliche eingabe ansteuern.

2. Würde ich gerne die Spalte "C" zum auswählen angeben.
An sich ist das auch kein Problem, leider verschiebt er die Tabelle mit dem Befehl "Scroll" auch in der Horizontalen was wiederrum unschön ist weil die Spalte A + B weiter zu sehen sein sollen.
Kann man den Befehl nur auf die Vertikale beschränken ?

Gruß
Stefan

PS: die Combobox wird über folgenden Code gefüllt :
Code:
Private Sub Worksheet_Activate()

   Dim rng As Range
           
       ComboBox3.Clear
       For Each rng In Range("D19:D200")
       If rng <> "" Then ComboBox3.AddItem rng
 
   Next
End Sub
Antworten Top
#2
Hallöchen,

das Befüllen der Combobox liefert Dir doch schon den Ansatz für Deine erste Frage.

Im Code steht
… ActiveSheet.Columns(4)

Wenn Du mal Columns übersetzt, kommst Du auf "Spalten".

Deine Combobox füllst Du mit

… Range("D19:D200")

Du willst in Spalte D ab Zeile 19 suchen? Sollte damit doch klappen. Falls Dir Application.Match dann bei einem Treffer in Zeile 19 als Ergebnis nicht 19 sondern 1 bringt, dann hilft etwas Mathe Smile
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste