Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Zahleneingabe über Userform
#1
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
Antworten Top
#2
Und wie lautet deine Frage bzw. welche Problemstellung ergibt sich für dich?
Schöne Grüße
Berni
Antworten Top
#3
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
Antworten Top
#4
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
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#5
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
Antworten Top
#6
Hallo Empo,

entferne die rote Klammer:
    .Cells(.Cells(Rows.Count, 1).End(XlUp).Row+1) ,1).Value=CLng(TextBox1)
Gruß Uwe
[-] Folgende(r) 1 Nutzer sagt Danke an Kuwer für diesen Beitrag:
  • empo
Antworten Top
#7
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
Antworten Top
#8
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
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
[-] Folgende(r) 1 Nutzer sagt Danke an schauan für diesen Beitrag:
  • empo
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste