ComboBox in Zelle springen

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Bild

Betrifft: ComboBox in Zelle springen
von: Dietz
Geschrieben am: 23.09.2015 13:20:22

Hallo,
ich würde gerne mittels ComboBox zwischen den Monaten Januar bis Dezember hin und her springen können. Ich hab Zellen gemerged und die entsprechend Januar, Februar usw. benannt. Was müsste ich als nächstes tun wenn ich in der ComboBox einen Monat auswähle und Excel dadurch in die entsprechende Zelle springt.
Gruß
Dietz

Bild

Betrifft: AW: ComboBox in Zelle springen
von: matthias
Geschrieben am: 23.09.2015 13:40:00
Hallo Dietz,
von was für einer Art von Combobox reden wir denn? Formular- oder ActiveX-Steuerelement, oder bist du in einer Userform unterwegs?
Das Formularsteuerelement ist ansich nichts anderes als eine Dropdown-Liste in der du den Monat auswählen kannst. Diesem kann mit Rechtsklick -> "Makro zuweisen" ein Code angehängt werden.
Das ActiveX-Steuerelement und die Combobox einer Userform verhalten sich gleich. Dies ist eine Dropdown in der ich noch zusätzliche Werte eingeben kann (ist auch ausstellbar). Beide können über das Change-Ereignis angesprochen werden.

Private Sub ComboBox1_Change()
'...
End Sub
Je nachdem welches Element du nutzt, muss dann auch das Makro anders lauten. Zudem habe ich keine Vorstellung von wo nach wo du springen willst und ob deine Zielzelle immer am gleichen Fleck bleibt/veränderlich ist weil es mal mehr mal weniger Datensätze sein können. Sind die Zellen gar auf unterschiedlichen Tabellenblätter, oder, oder, oder.
Daher bitte ich dich um ein paar weitere Informationen, wenn möglich sogar eine Beispielmappe.
lg Matthias

Bild

Betrifft: AW: ComboBox in Zelle springen
von: Dietz
Geschrieben am: 23.09.2015 14:23:07
Hallo Matthias,
ich hab eine ActiveX ComboBox gewählt. In einer Spalte die ich später hide hab ich die Werte Januar bis Dezember eingetragen (Unter Einstellungen hab ich die ComboBox darauf verwiesen). Als Makro nutze ich momentan folgenden Code:

Private Sub ComboBox21_Change()
    If ComboBox21.Value = "January" Then
       Range("U5").Select
    ElseIf ComboBox21.Value = "February" Then
       Range("AZ5").Select
    ElseIf ComboBox21.Value = "March" Then
       Range("CE5").Select
    ElseIf ComboBox21.Value = "April" Then
       Range("DJ5").Select
    ElseIf ComboBox21.Value = "May" Then
       Range("EQ5").Select
    ElseIf ComboBox21.Value = "June" Then
       Range("FV5").Select
    ElseIf ComboBox21.Value = "July" Then
       Range("HC5").Select
    ElseIf ComboBox21.Value = "August" Then
       Range("IH5").Select
    ElseIf ComboBox21.Value = "September" Then
       Range("JO5").Select
    ElseIf ComboBox21.Value = "October" Then
       Range("KU5").Select
    ElseIf ComboBox21.Value = "November" Then
       Range("LZ5").Select
    ElseIf ComboBox21.Value = "December" Then
       Range("NG5").Select
    End If
End Sub 
An sich funktioniert die ComboBox nun, jedoch springe ich mittels Auswahl zu dem Monat wird er mir nicht zentriert angezeigt. Reicht es wenn ich den Bereich weiter rechts angebe (Unterhalb der Zelle wo der Monatsname drin steht hab ich die Tage von 1 bis 31 eingetragen)? Oder gibt es eine elegantere Lösung zu dem was ich gebastelt hab?
Gruß
Dietz

Bild

Betrifft: AW: ComboBox in Zelle springen
von: Rudi Maintaire
Geschrieben am: 23.09.2015 14:32:37
Hallo,
da die Spalten gleichmäßig verteilt sind:

Private Sub ComboBox21_Change()
  if combobox21.listindex > -1 then
    application.goto cells(5, combobox1.listindex * 31 + 21), true
  end if
End Sub 
Gruß
Rudi

Bild

Betrifft: AW: ComboBox in Zelle springen
von: Dietz
Geschrieben am: 23.09.2015 14:38:31
Danke Rudi,
funktioniert ganz gut. Kriege ich es irgendwie hin das die Zelle nicht ausgewählt wird? Ist nur rein optisch?
Gruß
Dietz

Bild

Betrifft: AW: ComboBox in Zelle springen
von: Rudi Maintaire
Geschrieben am: 23.09.2015 15:00:58
Hallo,
geht auch.

Private Sub ComboBox21_Change()
  If combobox21.ListIndex > -1 Then
    ActiveWindow.ScrollColumn = combobox1.ListIndex * 31 + 21
  End If
End Sub
Evtl an der 21 feintunen.
Gruß
Rudi

Bild

Betrifft: AW: ComboBox in Zelle springen
von: Dietz
Geschrieben am: 23.09.2015 15:27:15
Danke Rudi!

Bild

Betrifft: AW: ComboBox in Zelle springen
von: matthias
Geschrieben am: 23.09.2015 14:48:34
Das Makro sieht doch schon gut aus, wenn du allerdings den Bildschirm verschieben willst, nicht die Zellmarkierung, verwende statt Range("U5").Select lieber:

ActiveWindow.ScrollColumn = 21
Nach dem "=" steht die Spaltenzahl, welche ganz links am Bildschirm noch angezeigt wird.
Für Spalte NG z.B. wüsste ich diese nicht auswendig, dafür kannst du aber in der Spalte die Formel "=Spalte()" eingeben und erhältst diese.
lg Matthias

Bild

Betrifft: AW: ComboBox in Zelle springen
von: Dietz
Geschrieben am: 23.09.2015 15:10:15
Vielen Dank,
so ist es viel besser!
Gruß
Dietz

 Bild

Beiträge aus den Excel-Beispielen zum Thema "ComboBox in Zelle springen"