Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1752to1756
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
erste freie Zeile im defin. Bereich
21.04.2020 20:16:00
Kaiser
Moin und Guten Abend zusammen,
ich wende mich an euch, da ich gerade ein Problem habe.
Ich möchte in einem definierten Bereich, die erste freie Zelle befüllen. Das heißt, der Bereich ist beispielsweise "A10:A20".
Nun habe ich eine Checkbox in einer UserForm. Durch das Anklicken der Checkbox, soll die Caption in den freien Zellen eingelesen werden. Die Caption soll in die nächste freie Zelle eingelesen werden, bis z.B. der Bereich voll ist.
Der Code zeigt keine Fehlermeldung, aber führt auch keinen Befehl aus..
Mein bisheriger Code sieht wie folgt aus:

Sub CommandButton1_Click()
Dim Ber As Range
Dim Zel As Range
Dim i As Integer
i = Worksheets("Ausgabetabelle").Cells(Rows.Count, 1).End(xlUp).Row + 1
Set Ber = Worksheets("tabelle").Range("A10:A20")
For Each Zel In Ber
If CheckBox1.Value = True Then
Worksheets("tabelle").Cells(i, 1).Value = CheckBox1.Caption
End If
Next
End Sub

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: erste freie Zeile im defin. Bereich
21.04.2020 22:09:14
Regina
Hi, der Code ist etwas schwer nachzuvollziehen:
Du suchst zuerst auf dem Tabellenblatt Ausgabetabelle die erste leere Zelle in der Spalte A. Dann durhcläufst Du auf dem Tabellenblatt tabelle den Bereich von A10 bis A20, um dann die Caption der Checkbox1 auf dem Tabellenblatt tabelle in die Spalte A und dort in die Zeile eintragen zu lassen, diDu auf dem Blatt Ausgabetabelle bestimmt hast.
Sind da die Blattnamen im Code durcheinader geraten?
Gruß Regina
AW: erste freie Zeile im defin. Bereich
21.04.2020 22:44:03
Kaiser
Hallo Regina,
danke für die Antwort. Da bin ich wohl etwas durcheinander geraten, das tut mir leid. Das ganze soll sich natürlich nur auf eine Tabelle konzentrieren. Die nächste freie Zeile soll in den definierten Bereich von "A10:A20" eingetragen werden. Also soll nur im definierten Bereich gearbeitet werden.
Der Code sieht dann so aus für eine Tabelle:

Sub CommandButton1_Click()
Dim Ber As Range
Dim Zel As Range
Dim i As Integer
i = Worksheets("tabelle").Cells(Rows.Count, 1).End(xlUp).Row + 1
Set Ber = Worksheets("tabelle").Range("A10:A20")
For Each Zel In Ber
If CheckBox1.Value = True Then
Worksheets("tabelle").Cells(i, 1).Value = CheckBox1.Caption
End If
Next
End Sub

Ich habe schon versucht i als Variant zu deklarieren und i mit im definierten Bereich zu legen, dann tut sich aber auch nichts. Sehe so aus:

Sub CommandButton1_Click()
Dim Ber As Range
Dim Zel As Range
Set Ber = Worksheets("tabelle").Range("A10:A20")
Dim i As Variant
i = Worksheets("tabelle").Cells(Rows.Count, 1).End(xlUp).Row + 1
For Each Zel In Ber
If CheckBox1.Value = True Then
Worksheets("tabelle").Cells(i, 1).Value = CheckBox1.Caption
End If
Next
End Sub

Ich hoffe ich konnte das nun besser erklären und das die Ausführung zum besseren Verständnis beiträgt.
Freundliche Grüße
Kaiser
Anzeige
AW: erste freie Zeile im defin. Bereich
22.04.2020 00:01:26
fcs
Hallo Kaiser,
du musst die For-Next-Schleife und die Prüfung, ob die Checkbox1 den Wert True hat, anders strukturieren.
In der For-Next-Schleife prüfst du die einzelnen Zellen auf Wert "" und lässt ggf. die Caption eintragen uund musst dann die Schleife velassen.
LG
Franz
Sub CommandButton1_Click()
Dim Zel As Range
Dim Ber As Range
Dim i As Integer
If CheckBox1.Value = True Then
Set Ber = Worksheets("tabelle").Range("A10:A20")
For Each Zel In Ber.Cells
If Zel.Text = "" Then
Zel.Value = CheckBox1.Caption
i = Zel.Row
Exit Sub
End If
Next
If i = 0 Then
MsgBox "Alle Zellen in Bereich """ & Ber.Address(False, False, xlA1) _
& """ sind ausgefüllt!"
End If
End If
End Sub

Anzeige
AW: erste freie Zeile im defin. Bereich
22.04.2020 09:12:51
Kaiser
Hallo Franz,
das funktioniert ausgezeichnet, der Hammer! Habe es vorhin ausprobiert und ist dann auch verständlich bzw. klar nachvollziehbar.
Ich bedanke mich recht herzlich, dass du dir die Zeit genommen hast. Danke auch an Regina.
Ich wünsche dir und euch allen einen angenehmen Tag und bleibt gesund.
Liebe Grüße
Kaiser

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige