Makro zum sequentiellen Ausfüllen von Zellen aus einer Spalte, wenn ich auf eine Schaltfläche klicke

0

Ich habe große Probleme, das herauszufinden.

Das ist mein Layout:

Screenshot des Layouts

Wie Sie sehen können, habe ich 2 Knöpfe.

Ich möchte, dass jeder Knopf Folgendes tut:

  1. Jedes Mal YES, wenn ich darauf klicke , wird ein Yin eine Zelle in einem bestimmten Bereich eingefügt.
  2. Wenn ich YESerneut klicke , wird automatisch ein Yin die nächste Zelle unter der vorherigen in derselben Spalte eingefügt.
  3. Wenn ich auf klicke NO, wird es auch in der Spalte fortgesetzt und ein N.

Wie wird die Ausgabe der Schaltflächen so gestaltet, dass immer die nächste freie Zelle verwendet wird?

MaryZ
quelle
1
Willkommen bei Super User. Können Sie den Code, den Sie bisher haben, mit anderen teilen, damit wir sehen können, wo wir Ihnen helfen können?
CharlieRB

Antworten:

3

Ich gehe davon aus, dass der Rest Ihres Codes erledigt ist und Sie eine Methode benötigen, um eine Zeile zum Einfügen Ihrer Werte zu erhalten. Hier ist ein Ausschnitt, der am besten funktioniert, wenn Ihre Daten nicht sehr groß sind und Sie Schleifen bevorzugen:

Dim rNext as Long
rNext = 2   'First used row in column F
Do Until LenB(Range("F" & rNext).Value) = 0
    rNext = rNext + 1
    If rNext = ActiveSheet.Rows.Count Then Exit Do
Loop

Und hier ist eine Lösung, die robuster und viel schneller ist:

Dim rNext As Long
rNext = Range("F2:F" & Cells.Rows.Count).Find(vbNullString).Row

Wie Sie vielleicht aus dem zweiten Beispiel ersehen können, können Sie dies direkt mit den folgenden Schritten tun:

Range("F2:F" & Cells.Rows.Count).Find(vbNullString).Value = "Y"
Ingenieur Toast
quelle
+1 Gute Lösung. OP, siehe auch diese Antwort für eine zusätzliche Klarstellung.
Raystafarian