Clever-Excel-Forum

Normale Version: Zahleneingabe über Userform
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo Forum,

den u.a. Code habe ich hier vom Forum. Funktioniert prima. Ich möchte noch 2 Tabellenblätter hinzufügen mit Namen "E 96" und "D 27". In "E 96" und "D 27" Start "A9" dann immer eine Zeile ansteigend. Eine "0" soll nicht eingetragenwerden.

Im Voraus schon mal vielen Dank

Grüsse Empo


Private Sub CommandButton12_Click()
    Dim lngZeilenvorschub As Long
    lngZeilenvorschub = 2
    If IsNumeric(TextBox1) Then
    'Spaltenumschalter: Es wird die Adresse der jeweils erstmöglichen Zelle angegeben
        Select Case TextBox1.Tag
            Case "", "BE5"
            TextBox1.Tag = "A5"
            Case "A5"
        TextBox1.Tag = "BE5"
        End Select
    'Angabe des Arbeitsblattes und der Zelle
    With Worksheets("Equi geteilt").Range(TextBox1.Tag)
       'Eintrag des Wertes um die angegebenen Zeilen unterhalb der letzten belegten Zelle
      .Parent.Cells(Application.Max(.Row, Cells(Rows.Count, .Column).End(xlUp).Row), .Column) _
                   .Offset(-(Len(.Value) > 0) * lngZeilenvorschub).Value = CLng(TextBox1)
    End With
    TextBox1 = ""
    TextBox1.SetFocus
 Else
    MsgBox "Keine Werte vorhanden"
 End If
End Sub
Und wie lautet deine Frage bzw. welche Problemstellung ergibt sich für dich?
Hallo Berni,

ich möchte, daß die Zahl die in Tabellenblatt"Equi geteilt" in die Spalte "A" und Spalte "BE" abwechselnd eingetragen wird, nun auch in die Tabellenblätter "E 96" und "D 27" ohne die "0" immer in Spalte "A" (immer eine Zeile ansteigend) eingetragen wird. Start Ist "A9".
Ich habe von VBA keine Ahnung.

Viele Grüsse
Empo
Hallöchen,

eventuell so:

Code:
With WorkSheets("E 96")
  If IsEmpty(.Range("A9")) Then
    .Range("A9").Value=CLng(TextBox1)
  Else
    .Cells(.Cells(Rows.Count, 1).End(XlUp).Row+1) ,1).Value=CLng(TextBox1)
  End If
End With

Den Code nimmst Du unter das End With, und dann nochmal für D 27
Hallo Schauan,

ichhabe den Code eingefügt aber     .Cells(.Cells(Rows.Count, 1).End(XlUp).Row+1) ,1).Value=CLng(TextBox1) ist rot und meldet Syntax fehler.Was muß ich tun?
 

Viele Grüße Empo
Hallo Empo,

entferne die rote Klammer:
    .Cells(.Cells(Rows.Count, 1).End(XlUp).Row+1) ,1).Value=CLng(TextBox1)
Gruß Uwe
Guten Morgen,

das Makro funktioniert mit einer kleinen Einschräbkung. In Tabellenblatt "E 96" und Tabellenblatt "D 27" soll keine "0" eingetragen werden. Wie ist dies zu machen?

Grüße Empo
Hallöchen,

dann musst Du eine entsprechende Bedingung hinzufügen, z.B.

With WorkSheets("E 96")
if CLng(TextBox1) <> 0 then
 If IsEmpty(.Range("A9")) Then
   .Range("A9").Value=CLng(TextBox1)
 Else
   .Cells(.Cells(Rows.Count, 1).End(XlUp).Row+1 ,1).Value=CLng(TextBox1)
 End If
End If
End With