Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1708to1712
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
in erste leere Zeile einfügen
28.08.2019 07:29:26
Andre
Hallo Zusammen
Ich habe mal eine Frage und zwar habe ich Tabelle wo in Spalte B fortlaufende Nummern stehen. Zwischen diesen Nummern sind immer 5 leere Zeilen.
Nun möchte ich mithilfe einer Userform die laufende Nummer suchen diese befindet sich in Textbox1
Textboxinhalt 2,3,4 und 5 sollen dann in die erste freie Zeile eingetragen werden
unter der passenden laufenden Nummer
Hier mein Code der nicht so funktioniert wie ich möchte
Vielen Dank für eure Hilfe schon im voraus

Private Sub CommandButton1_Click()
Dim finden As Range
Dim intErsteLeereZeile As Long
Set finden = Columns(2).Find(what:=TextBox1)
Cells(finden.Row, finden.Column).End(xlUp).Row
ActiveSheet.Cells(intErsteLeereZeile, 2).Value = Me.TextBox1.Value
ActiveSheet.Cells(intErsteLeereZeile, 3).Value = Me.TextBox2.Value
ActiveSheet.Cells(intErsteLeereZeile, 4).Value = Me.TextBox3.Value
ActiveSheet.Cells(intErsteLeereZeile, 5).Value = Me.TextBox4.Value
ActiveSheet.Cells(intErsteLeereZeile, 6).Value = Me.TextBox5.Value
End Sub

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: in erste leere Zeile einfügen
28.08.2019 07:50:00
ede
Guten Morgen,
du hast die Variable intErsteLeereZeile deklariert, aber keinen Wert zugewiesen!!! Stell bitte auch immer eine Beispieldatei bereit, dann kann man die besser helfen.
Gruss
ede
AW: in erste leere Zeile einfügen
28.08.2019 08:33:53
ede
Hallo nochmal,
in Deiner bereitgestellten Datei ist aber keine Userform enthalten! Bitte incl. Code (.xlsm) hochladen.
ede
AW: in erste leere Zeile einfügen
28.08.2019 08:57:02
ede
ich verstehe zwar nicht so richtig was du machen möchtest, aber so bekommst du die nächste freie Zeile laut ID aus Textbox1:

Private Sub CommandButton1_Click()
Dim finden As Range
Dim intErsteLeereZeile As Long
Set finden = Columns(2).Find(what:=Me.TextBox1)
'  Cells(finden.Row, finden.Column).End(xlUp).Row + 1
intErsteLeereZeile = finden.Row + 1
ActiveSheet.Cells(intErsteLeereZeile, 2).Value = Me.TextBox1.Value
ActiveSheet.Cells(intErsteLeereZeile, 3).Value = Me.TextBox2.Value
ActiveSheet.Cells(intErsteLeereZeile, 4).Value = Me.TextBox3.Value
ActiveSheet.Cells(intErsteLeereZeile, 5).Value = Me.TextBox4.Value
ActiveSheet.Cells(intErsteLeereZeile, 6).Value = Me.TextBox5.Value
End Sub

Du musst aber auch noch eine Fehlerbehandlung einbauen, wenn leer oder nicht gefunden!!!
ede
Anzeige
AW: in erste leere Zeile einfügen
28.08.2019 09:34:38
Andre
Hallo ede und Torsten
Erstmal vielen Dank euch beiden
das ist es was ich mir vorgestellt habe nur wen ich die laufende Nummer nochmal eingeben wird die Zeile überschrieben.
Es sind bis zu 5 Einträge pro laufende Nummer möglich
was muss ich noch verändern das der Code dann wieder eine Zeile nach unten rück
AW: in erste leere Zeile einfügen
28.08.2019 09:36:04
Torsten
Check meinen Code
AW: in erste leere Zeile einfügen
28.08.2019 09:39:04
ede
hat Torsten bereits mit behandelt:

Private Sub CommandButton1_Click()
Dim finden As Range
Dim intErsteLeereZeile As Long
Dim ws As Worksheet
Set ws = ThisWorkbook.Worksheets("Tabelle1")                   'Tabellenblattname evtl.  _
anpassen
If Len(Me.TextBox1) > 0 And IsNumeric(Me.TextBox1) Then   'nur weiter bei numerische  _
Werte
Set finden = Columns(2).Find(what:=Me.TextBox1)
If Not finden Is Nothing Then                         'wenn ID gefunden
intErsteLeereZeile = finden.Row + 1
1:              If Cells(intErsteLeereZeile, 2) = "" Then
ws.Cells(intErsteLeereZeile, 2).Value = Me.TextBox1.Value
ws.Cells(intErsteLeereZeile, 3).Value = Me.TextBox2.Value
ws.Cells(intErsteLeereZeile, 4).Value = Me.TextBox3.Value
ws.Cells(intErsteLeereZeile, 5).Value = Me.TextBox4.Value
ws.Cells(intErsteLeereZeile, 6).Value = Me.TextBox5.Value
Else
intErsteLeereZeile = intErsteLeereZeile + 1
GoTo 1
End If
End If
End If
End Sub

Anzeige
AW: in erste leere Zeile einfügen
28.08.2019 09:15:51
Torsten
Hallo Andre,
hier komplett:

Private Sub CommandButton5_Click()
Dim finden As Range
Dim intErsteLeereZeile As Long
Set finden = Columns(2).Find(what:=TextBox1)
intErsteLeereZeile = Cells(finden.Row + 1, 2).Row
1:      If Cells(intErsteLeereZeile, 2) = "" Then
ActiveSheet.Cells(intErsteLeereZeile, 2).Value = Me.TextBox1.Value
ActiveSheet.Cells(intErsteLeereZeile, 3).Value = Me.TextBox2.Value
ActiveSheet.Cells(intErsteLeereZeile, 4).Value = Me.TextBox3.Value
ActiveSheet.Cells(intErsteLeereZeile, 5).Value = Me.TextBox4.Value
ActiveSheet.Cells(intErsteLeereZeile, 6).Value = Me.TextBox5.Value
Else
intErsteLeereZeile = intErsteLeereZeile + 1
GoTo 1
End If
Unload UserForm1
End Sub

Gruss Torsten
Anzeige
AW: in erste leere Zeile einfügen
28.08.2019 09:39:03
Andre
Hallo Ihr zwei
alles gut läuft super der Code von Torsten
Ihr seid echt die besten hier im Forum
vielen vielen Dank
PS hatte mich mit den CommandButton vertan :(
gerne...
28.08.2019 09:43:07
Torsten
danke fuer die Rueckmeldung
AW: in erste leere Zeile einfügen
28.08.2019 10:15:18
Torsten
Hallo nochmal,
hier noch ne kleine Erweiterung. Da ja nur 5 Zeilen moeglich sind, hab ich noch eine Meldung eingebaut, wenn die 5 Zeilen erreicht sind.

Private Sub CommandButton1_Click()
Dim finden As Range
Dim intErsteLeereZeile As Long, intFundZeile As Long
Set finden = Columns(2).Find(what:=TextBox1)
intFundZeile = Cells(finden.Row, 2).Row
intErsteLeereZeile = Cells(finden.Row + 1, 2).Row
1:      If Cells(intErsteLeereZeile, 2) = "" Then
ActiveSheet.Cells(intErsteLeereZeile, 2).Value = Me.TextBox1.Value
ActiveSheet.Cells(intErsteLeereZeile, 3).Value = Me.TextBox2.Value
ActiveSheet.Cells(intErsteLeereZeile, 4).Value = Me.TextBox3.Value
ActiveSheet.Cells(intErsteLeereZeile, 5).Value = Me.TextBox4.Value
ActiveSheet.Cells(intErsteLeereZeile, 6).Value = Me.TextBox5.Value
Else
intErsteLeereZeile = intErsteLeereZeile + 1
If intErsteLeereZeile = intFundZeile + 5 Then
MsgBox "Maximale Zeilenzahl fuer diese lfd. Nummer erreicht"
Exit Sub
End If
GoTo 1
End If
Unload UserForm1
End Sub

Gruss Torsten
Anzeige

317 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige