Microsoft Excel

Herbers Excel/VBA-Archiv

Frage wegen Combobox

Betrifft: Frage wegen Combobox von: Dieter
Geschrieben am: 22.11.2014 22:55:13

Hallo,
kann mir jemand bei folgendem Problem helfen.
Ich will über eine Combobox Texte, die in einer separaten Liste aufgeführt sind in eine aktive Zelle eintragen, das funktioniert auch so weit. Mein Problem ist, wenn ich den gleichen Eintrag in die folgende Zelle schreiben will dann funktioniert das nicht.
Das heißt, ich muß erst einen anderen Eintrag wählen und diesen dann überschreiben.
Was mache ich da falsch, wer kann mir da einen guten Rat geben.

vielen Dank im Voraus

  

Betrifft: AW: Frage wegen Combobox von: fcs
Geschrieben am: 23.11.2014 07:41:11

Hallo Dieter,

whrscheinlich machst du nichts falsch. Eine Combobox verhält sich nun einmal so.

Wie sieht denn das Makro aus, mit dem der in der Combobox gewählte Wert in die aktive Zelle übertragen wird?

Eine abgespeckte Beispieldatei hilfreich, die du hier hochlädst, wäre auch hilfreich.

Gruß
Franz


  

Betrifft: AW: Frage wegen Combobox von: Dieter
Geschrieben am: 24.11.2014 06:24:22

Hallo Franz,
danke für deine Antwort. Hier die Prozedur ganz einfach halt.

Private Sub Buchungstexte_Change()
    ActiveCell.FormulaR1C1 = Buchungstexte.Text
    ActiveCell.Offset(1, -9).Range("a1").Select
End Sub
Gruß
dieter


  

Betrifft: AW: Frage wegen Combobox von: fcs
Geschrieben am: 24.11.2014 07:41:38

Hallo Dieter,

das könnte man dadurch realisieren, dass in dem Moment, in dem auf die Combobox klickt, der aktuelle Wert der Combobox in die aktive Zelle eingetragen wird.
Allerdings solltest du zusätzlich die Spalte der aktiven Zelle prüfen, damit nicht versehentlich Text in die falsche Spalte eingetragen wird.

Gruß
Franz

Private Sub Buchungstexte_Change()
    ActiveCell.FormulaR1C1 = Buchungstexte.Text
    ActiveCell.Offset(1, -9).Range("a1").Select
End Sub

Private Sub Buchungstexte_GotFocus()
    Select Case ActiveCell.Column
        Case 10 'Spalte J 'Ziffer gdf. anpassen
            If ActiveCell.Value = "" Then
            With Buchungstexte
                If .ListIndex <> -1 Then
                    ActiveCell.Value = .Text
                End If
            End With
            End If
    End Select
End Sub



  

Betrifft: AW: Frage wegen Combobox von: Dieter
Geschrieben am: 25.11.2014 06:46:11

Hallo Franz,

vielen Dank für deine Hilfe und die Mühe, die du dir machst,leider weis ich es nicht richtig umzusetzen.
Wie muß ich das machen mit dem Anpassen (Spalte J, Ziffer), bin halt ein blutiger Anfänger.


nochmals vielen Dank
dieter


  

Betrifft: AW: Frage wegen Combobox von: fcs
Geschrieben am: 25.11.2014 10:33:39

Hallo Dieter,

in der Zeile

        Case 10 'Spalte J 'Ziffer gdf. anpassen

wird die Nummer der Spalte der aktiven Zelle geprüft. Dies muss eine Spalte sein, in der ein Buchungstext eingetragen werden darf.
Die Spaltenzählung beginnt in Spalt A mit 1, B = 2, ... J = 10.
Da in deinem Makro "Buchungstexte_Change" der Cursor nach der Eingabe eine Zeile nach unten und 9 Spalten nach links springt, hatte ich angenommen, dass die Buchungstexte in Spalte 10 = J eingetragen werden.

Du musst also die 10 entsprechend ändern, wenn die Texte in eine andere Spalte eingetragen werden sollen.

Falls du in mehrere Spalten mit Buchungstexten hast, dann kannst du die Spalten-Nummern in der Case-Zeile durch Komma trennen.
        Case 10, 21, 32 'Spalten J, U, AF 'Ziffern gdf. anpassen
Gruß
Franz


 

Beiträge aus den Excel-Beispielen zum Thema "Frage wegen Combobox"