freie zeile Suchen und dann reinkopieren....wie?


#1
Visual Basic:
Private Sub cmbkundendaten_Click()

'Variable deklarieren

Dim erste_freie_Zeile As Integer

'erste freie Zeile in Blatt "Formular" ermitteln

'und in Variable "erste_freie_Zeile" schreiben

 erste_freie_Zeile = Sheets("Formular").Range("B31:F43").End(xlUp).Offset(1, 0).Row

'In Blatt "Formular"

'With Sheets("Formular")

'Spalte B, erste freie Zeile die Anrede

 Sheets("Formular").Cells(erste_freie_Zeile, 2) = cb5.Text

'Spalte C, erste freie Zeile Vor & Zuname

 Sheets("Formular").Cells(erste_freie_Zeile, 3) = txtbox7.Text

'Spalte D, erste freie Zeile Str. Und Hs Nr.

 Sheets("Formular").Cells(erste_freie_Zeile, 4) = txtbox8.Text

'Spalte E, erste freie Zeile Plz und Ort

 Sheets("Formular").Cells(erste_freie_Zeile, 5) = txtbox9.Text

'Spalte F, erste freie Zeile Kundennummer

 Sheets("Formular").Cells(erste_freie_Zeile, 6) = txtbox10.Text

'End With


 End Sub
Das ist der Code zu Abfrage der Leerzeilen Bereich (B31 -B43 das gleiche allen bis F31 - F43) leider schreibt er nur 1 x die Daten in Zeile 31 und dann nix anderen mehr.
Warum wer kann da helfen.

Eine universale Abfrage der betroffenen Bereiche wir es wohl nicht geben. da ich noch andere Abfrage aus TextBoxen /Comboboxen habe die auch in die Tabelle kopiert werden sollen.
 

Anhänge

Zvoni

Erfahrenes Mitglied
#2
Du musst in einer Schleife durchgehen, beginnend mit "erste_freie_zeile" um die folgenden Zeilen zu füllen.

For i=erste_freie_zeile To letzte_freie_zeile
'Füge Zeug ein
Next
 
#5
Die letzte Zeile ist die B43 bis F43 für da wo diese Daten in der Tabelle gespeichert werden sollen die erste dafür verfügbare Zeile ist B31 bis F31.

Was muss ich da denn ausrechnen???
 

Zvoni

Erfahrenes Mitglied
#6
Ach so. Ich dachte, da du die erste freie Zeile auch ausrechnen musstest.....
Wenn du die letzte Zeile nicht ausrechnen musst, sondern die fix ist, kannst du auch
For i=erste_freie_zeile To 43 machen