hab eine frage, die ich hoffentlich gut beschreiben kann:
ich habe in einer userform mehrere commandbuttons,die, wenn man sie anklickt, werte in ein excel-tabellenblatt einfügen sollen. diese werte sollen untereinander aufgelistet werden, wobei geprüft werden soll, ob die zelle darüber leer ist und der wert „aufrutschen“ kann oder nicht. somit will ich erreichen, dass die werte der buttons, die ich anklicke, ohne lücke untereinander geschrieben werden.
weiß jemand was ich meine und weiß jemand einen befehl dafür?
Hallo,
Ich weiß leider nicht genau was du meinst.
So wie ich das verstanden habe möchtes du Prüfen ob ein Feld leer ist.
Das kannst du mit einem Makro folgendermaßen:
if Range(„C8“) = „“ then
…
end if
ich hoffe dass hilft dir!
MfG
Hi namenloser Gast,
(gern kommuniziere ich nicht in dieser Weise anonym…)
IMHO hast du deine Frage nicht so wirklich gut beschrieben.
Wie heißt die Tabelle?
In welche Spalte soll eingefügt werden?
Stehen die Werte in Variablen oder woanders?
Gefragt hast du:
„weiß jemand was ich meine und weiß jemand einen befehl dafür?“
Meine Antworten:
a) Ich glaube, so ungefähr weiß ich das.
b) Ich weiß (mindestens) einen Befehl dafür.
Ok, jetzt vernünftig:
Probier mal (hier mit Spalte
With Sheets("abc")
.Cells(.Rows.Count, 5).End(xlUp).Offset(1) = 4711
End With
vielen dank schonmal für eure antworten ich denke, dass die richtige schon dabei ist, aber ich weiß nicht was ich da einsetzen muss, bin leider vba neuling…
also:
ich möchte , dass wenn ich auf einen commandbutton 1 klicke, der text „produkt 1“ beim tabellenblatt „abc“ in die zelle A1 geschrieben wird.
wenn ich auf commandbutton 2 klicke, soll er den text „produkt 2“ in A2 schreiben, aber nur wenn in A1 schon etwas steht, ich also den commandbutton 1 angeklickt hab, sonst soll er in A1 reinschreiben.
es sind 5 produkte, also habe ich ja zb einen bereich von A1-A5.
Also, wenn ich das richtig verstanden habe willst Du eine Spalte in Excel lückenlos von oben nach unten fort schreiben? Das geht einfach. Man kann in Excel jede Zelle mit Cells(row,col) adressieren und somit einfach in einer Schleife in der entsprechenden Spalte von oben nach unten die erste freie Zelle suchen, z.B.
row = 1
col = …
Do while Cells(row, col) vbNullstring
row = row +1
Loop
’ row zeigt auf die erste leere Zelle der Spalte col
Cells(row, col) = wert
Hi.
Sorry, war länger nicht verfügbar.
Komme mit Userforms gar nicht klar - tut mir leid.
Bin aber sicher, zwischenzeitlich hast Du kompetente Hilfe erhalten.
Freundlich grüßt
Ernie