Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

VBA: IF / ELSE





Frage

Hallo zusammen, ich habe einen Spalte von B4 bis B253. Da möchte ich Einträge per Textbox reinsetzen. Wenn nun die Zelle B4 schon gefüllt ist. Soll der Eintrag in Zelle B5 usw. Ich versuch das schon die ganze Zeit mit nem If else Begehl, aber das gelingt mir nicht wirlich... Danke Marsi

Antwort 1 von Guenter

Hallo,

schreib doch mal, was Du schon hast (oder den betreffenden Teil), dann läst sich leichter etwas verbessern.

Gruß
Günter

Antwort 2 von Marsi

Hi, was ich habe ist glaube ich nicht so viel wert, weil ich mich mit dem If Else auch nicht so gut auskenne und daher habe ich nur was probiert bisher was aber immer Fehlermeldungen brachte.... und gar nicht erst startete.

ich will ja auch nicht unbedingt ne komplette Lösung, vielleicht kannst Du mir mal den aufbau IF Else mit nem textfeld erklären mit nem Optionsfeld habe ich so eine Funktion schon hin bekommen...

Antwort 3 von Marsi

also hier mal meine schwachen Versuche:



If B4 = 0 Then
Range("B4") = TextBox1.Text
Else
Range("B5") = TextBox1.Text
End If



Antwort 4 von Guenter

Hallo Marsi,

mit Textfeld und IF/ELSE würde ich das im augenblick auch nicht hinbekommen.
Du willst den Eintrag im Textfeld immer in die letzte freie Zelle der Spalte B eintragen? Ist das so gemeint?
die letzte gefüllte Zelle findest Du z.B. hier:


i = Cells(Rows.Count, 2).End(xlUp).Row
cells(i + 1,2).value = textbox1.text



Das geht dann ohne IF/ELSE.
(nicht getestet von mir)

Gruß
Günter

Antwort 5 von Marsi


Hi ja das klappt, ich habe auch ein andere zugesandt bekommen:


x = Cells(Rows.Count, 2).End(xlUp).Row + 1
Range("B" & x).Value = TextBox1.Text


allerdings fehlt bei beiden die Begrenzung von Zeile 4 bis Zeile 253.....

Marsi


Antwort 6 von Guenter

Hallo, Marsi,

dann noch eine if-Abfrage einbauen:


x = Cells(Rows.Count, 2).End(xlUp).Row + 1
if x < 4 or x > 253 then exit
Range("B" & x).Value = TextBox1.Text


probiere es mal aus.
Wenn es nicht geht, nochmals melden.
Gruß
Günter

Antwort 7 von Marsi

geht nicht er mekert schon bei der erstellung rum

und sagt:
Syntaxfegler




Antwort 8 von Guenter

Hallo,

ich hatte das Sub vergessen.
So geht's.

Sub test()
x = Cells(Rows.Count, 2).End(xlUp).Row + 1
If x < 4 Or x > 253 Then Exit Sub
Range("B" & x).Value = TextBox1.Text
End Sub


Satt das Makro zu beenden mit Exit Sub kann natürlich auch etwas anderes stehen.

Gruß
GÜnter

Antwort 9 von Marsi

das sub hatte ich schon hingeschrieben, er macht mir die Zeile mit dem if rot und sagt da syntaxfehler....

Antwort 10 von Marsi

....mir ist noch was eingefallen, könnte es dran liegen, dass ich den code einem command button zugeordnet habe?

also bei mir steht sub command_button1_click ()

?????

Marsi

Antwort 11 von Marsi

so ich habe es noch mal ausprobiert:

mein Code lautet jetzt:

Private Sub CommandButton1_Click()

x = Cells(Rows.Count, 2).End(xlUp).Row + 1
If x < 4 Or x > 253 Then Exit Sub
Range("B" & x).Value = TextBox1.Text


End Sub


das Problem dabei ist jetzt nur, dass nun nix mehr vom UserForm ins Tabellenblatt übertragen wird....

Antwort 12 von Guenter

Hallo,

also bei mir läuft das Makro problemlos.
Hast Du die Userform1 angezeigt mit
Userform1.Show

Gruß
Günter

Antwort 13 von Marsi

ich habe das UserForm ber schaltfläche gestartet, mit dem userform1.show befehl...

sollte es daran liegen?

Antwort 14 von Marsi

soll ich dir meine mappe mal schicken?

Antwort 15 von Guenter

Hallo,

nee,
wenn ich mit Ansicht Symbolleisten, Steuerelemente-Toolbox eine Schaltfläche erzeuge und dort

Private Sub CommandButton1_Click()
 UserForm1.Show
End Sub

eingebe, funktioniert das auch.

Stimmt der Name der TextBox?
Versuchs doch mal mit einer kleinen Testtabelle.

Gruß
Günter

Antwort 16 von Guenter

Hallo,

ich denke, erstmal nicht nötig, wenn Du mal mit einer Testtabelle arbeitest.
Also, in Excel ein paar Zaheln eingeben (in spalte B), Dann Userform mit Textbox und Befehlsschaltfläche machen, den Code eingeben bei der Schaltfläche. Dann wie oben beschrieben neue Schaltfläche im Excel-Blatt machen und dort bei der Schaltfläche den Code eingeben.

Wenn das bei Dir nicht geht, kann ich Dir eine Testtabelle schicken.

Gruß
Günter



Antwort 17 von Marsi

jetzt hab ich's in Zelle B4 muss am Anfang schon was drin stehen......ach so. Da hab ich die Logik des Codes wohl nicht ganz kapiert.

Danke Günter, jetzt funtst alles und ich bin glücklich ;o)

Viele Grüße

Markus

Antwort 18 von Guenter

Hallo Markus,

keine Ursache.
Es muss in Zelle B3 etwas stehen, damit x +1 nicht kleiner 4 wird.Das kannst Du noch anpassen nach Bedarf.

Gruß
Günter

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: