Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema CommandButton
BildScreenshot zu CommandButton CommandButton-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema Userform
BildScreenshot zu Userform Userform-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema Label
BildScreenshot zu Label Label-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema TextBox
BildScreenshot zu TextBox TextBox-Seite mit Beispielarbeitsmappe aufrufen

Werte aus Combo und Textbox in Zeile ohne Leerzeil

Betrifft: Werte aus Combo und Textbox in Zeile ohne Leerzeil von: Andreas
Geschrieben am: 22.08.2014 15:52:48

Hallo Excelprofis,

ich habe ein UserForm mit Comboboxen und Textfeldern. Mit nachfolgendem Code fülle ich die Comboboxen und schreibe die Werte per Commandbutton in verschiedene Zellen.

Bei den Comboboxen 7 bis 21 und den Textfeldern 6 bis 10 soll es aber so sein, dass der Inhalt bei Knopfdruck ohne Leerzeile in den Bereich B22:B42 eingetragen werden soll.

Mit dem was ich im Netz gefunden habe kam ich nicht weiter.

Private Sub UserForm_Initialize()

With Me.ComboBox3
.AddItem "bis"
.AddItem "ab"
.ListIndex = 0
End With

With Me.ComboBox1
.RowSource = "Userform!A3:A66"
.ListIndex = -1
End With

With Me.ComboBox2
.RowSource = "Zeit"
.ListIndex = -1
End With

With Me.ComboBox4
.RowSource = "Zeit"
.ListIndex = -1
End With

With Me.ComboBox5
.RowSource = "Etage"
.ListIndex = -1
End With

With Me.ComboBox6
.RowSource = "Dauer"
.ListIndex = -1
End With

'With Me.ComboBox7
'.RowSource = "Artikel"
'.ListIndex = -1
'End With

With Me.ComboBox8
.RowSource = "Artikel"
.ListIndex = -1
End With

With Me.ComboBox9
.RowSource = "Artikel"
.ListIndex = -1
End With

'bis Combobox21

End Sub
Private Sub CommandButton1_Click()

Sheets("Lieferauftrag").Activate

Range("C11") = ComboBox1.Text 'Datum
Range("F11") = ComboBox2.Text ' Von
Range("G11") = ComboBox3.Text   '"bis oder ab"
Range("H11") = ComboBox4.Text 'Bis
Range("B14").Value = Me.TextBox1.Text 'Name
Range("B20").Value = Me.TextBox2.Text 'Telefon
Range("B16").Value = Me.TextBox3.Text & " " & Me.TextBox4.Text 'Strasse + Nummer
Range("F16") = ComboBox5.Text 'Etage
Range("B18").Value = Me.TextBox5.Text 'Ort

Range("B43").Value = Me.TextBox11.Text 'Bemerkungen

Range("B22") = ComboBox7.Text 'Artikel

End Sub

Danke fürs lesen und die Hilfe!

mfg, Andreas

  

Betrifft: AW: Werte aus Combo und Textbox in Zeile ohne Leerzeil von: fcs
Geschrieben am: 22.08.2014 16:06:10

Hallo Andreas,

da wird dir ohne eine Beispieldatei mit ggf. anonymisierten Beispieldaten nicht geholfen werden können.

Was bedeutet dies?
Bei den Comboboxen 7 bis 21 und den Textfeldern 6 bis 10 soll es aber so sein, dass der Inhalt bei Knopfdruck ohne Leerzeile in den Bereich B22:B42 eingetragen werden soll.

Bleiben einige Comboboxen leer (ohne Auswahl), sind nicht alle Textboxen gefüllt?
Sollen leere Comboboxen/Textboxen übersprungen werden?

Gruß
Franz


  

Betrifft: AW: Werte aus Combo und Textbox in Zeile ohne Leerzeil von: Andreas
Geschrieben am: 22.08.2014 16:10:19

Hallo Franz,

Danke für die schnelle Antwort.

Stimmt, es können Combo oder Textboxen leer sein. Diese sollen dann übersprungen werden.

Also vereinfacht: Schreibe alle nichtleeren Comboboxen und Textfelder nach B22:B42 ohne Leerzeile.

Danke!

mfg, Andreas


  

Betrifft: AW: Werte aus Combo und Textbox in Zeile ohne Leerzeil von: fcs
Geschrieben am: 22.08.2014 16:37:34

Hallo Andreas,

hier ein Codebeispiel. Die Steuerelemente müssen dabei mit dem gleichen Namen fortlaufend durchnummeriert sein.

'Erstellt in Userform unter Excel2010
Private Sub CommandButton5_Click() 'ButtonName anpassen!
  Dim Zeile As Long, objControl As Control, intI As Integer, wks As Worksheet
  Zeile = 21
  Set wks = ActiveSheet
  wks.Range("B22:B42").ClearContents
  For intI = 7 To 21
    Set objControl = Me.Controls("Combobox" & Format(intI, "0"))
    If objControl.Text <> "" Then
      Zeile = Zeile + 1
      wks.Cells(Zeile, 2) = objControl.Text
    End If
  Next
  For intI = 6 To 10
    Set objControl = Me.Controls("Textbox" & Format(intI, "0"))
    If objControl.Text <> "" Then
      Zeile = Zeile + 1
      wks.Cells(Zeile, 2) = objControl.Text
    End If
  Next
End Sub
Gruß
Franz


  

Betrifft: AW: Werte aus Combo und Textbox in Zeile ohne Leerzeil von: Andreas
Geschrieben am: 22.08.2014 17:02:26

Hallo Franz,

das funktioniert ja super, vielen vielen Dank für die Hilfe.

Ein schönes Wochenende!

mfg, Andreas


  

Betrifft: anderer Ansatz von: Andreas
Geschrieben am: 22.08.2014 16:06:52

Es würde auch reichen, wenn ich per Hand in die Combobox schreiben könnte und der Wert dann per Commandbutton in eine bestimmte Zelle geschrieben wird. Das funktioniert aber nicht.

Ich kann zwar etwas reinschreiben, aber es wird per Knopfdruck nichts in die Zelle geschrieben.

Danke!

mfg, Andreas


 

Beiträge aus den Excel-Beispielen zum Thema "Werte aus Combo und Textbox in Zeile ohne Leerzeil"