Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema CommandButton
BildScreenshot zu CommandButton CommandButton-Seite mit Beispielarbeitsmappe aufrufen

nächste spalte füllen

Betrifft: nächste spalte füllen von: opalu
Geschrieben am: 25.03.2020 12:37:49

Hallo Profis,


ich steh mal wieder auf dem Schlauch.


Aus einer userform trag ich werte mit cells(….) in die erste Spalte ein.

Wie kann ich den nächsten Datensatz in die 2. Spalte eintragen usw.

mit Zeilen kann ich die Sätze weiterschreiben und wieder lesen.


für Spalte reichen die Gehirnwindungen nicht aus.


mfg Opalu

Betrifft: Ganzer Code zeigen, oder Beispielmappe! (owT)
von: EtoPHG
Geschrieben am: 25.03.2020 13:54:06



Betrifft: AW: Ganzer Code zeigen, oder Beispielmappe! (owT)
von: opalu
Geschrieben am: 25.03.2020 14:21:13

Hallo EtoPHG

bei dem Code werden die Daten zehnmal wiederholt.

Ich möchte aber nur eine Spalte mit den Werten füllen, und in der nächsten
Spalte andere Werte abbilden usw.

D.h. bei jedem Click sollen in der nächsten Spalte neu Werte übertragen werden

Private Sub CommandButton2_Click()
Dim spalte As Long
Dim i As Long
spalte = 1

For i = 1 To 10


Cells(1, spalte) = ComboBox1.Value * ComboBox2.Value
Cells(2, spalte) = ComboBox3.Value * ComboBox4.Value
Cells(3, spalte) = ComboBox5.Value * ComboBox6.Value
Cells(4, spalte) = ComboBox7.Value * ComboBox8.Value
Cells(5, spalte) = ComboBox9.Value * ComboBox10.Value
Cells(6, spalte) = ComboBox11.Value * ComboBox12.Value
Cells(7, spalte) = ComboBox13.Value * ComboBox14.Value
Cells(8, spalte) = ComboBox15.Value * ComboBox16.Value
Cells(9, spalte) = ComboBox17.Value * ComboBox18.Value
spalte = spalte + 1
Next i


End Sub
Wie könnt ich das lösen ??

Betrifft: AW: Ganzer Code zeigen, oder Beispielmappe! (owT)
von: EtoPHG
Geschrieben am: 26.03.2020 08:06:59

Hallo,

Probier mal:
Private Sub CommandButton2_Click()
    Dim lastCol As Long
    lastCol = Cells(1, Columns.Count).End(xlToLeft).Column
    lastCol = lastCol + 1
    If lastCol = 2 And IsEmpty(Cells(1, 1)) Then lastCol = 1
    If vbYes = MsgBox("Die letzte gefüllte Spalte ist " & (lastCol - 1) & vbCrLf & _
                "Wollen Sie die Spalte " & lastCol & " jetzt erstellen?", _
                vbYesNo + vbExclamation, "Wert in lastcol kopieren") Then
        Cells(1, lastCol) = ComboBox1.Value * ComboBox2.Value
        Cells(2, lastCol) = ComboBox3.Value * ComboBox4.Value
        Cells(3, lastCol) = ComboBox5.Value * ComboBox6.Value
        Cells(4, lastCol) = ComboBox7.Value * ComboBox8.Value
        Cells(5, lastCol) = ComboBox9.Value * ComboBox10.Value
        Cells(6, lastCol) = ComboBox11.Value * ComboBox12.Value
        Cells(7, lastCol) = ComboBox13.Value * ComboBox14.Value
        Cells(8, lastCol) = ComboBox15.Value * ComboBox16.Value
        Cells(9, lastCol) = ComboBox17.Value * ComboBox18.Value
    End If
End Sub
Gruess Hansueli

Beiträge aus dem Excel-Forum zum Thema "nächste spalte füllen"