VBA - nächste freie Zeile finden & befüllen
#1
Hallo zusammen,

ich habe folgenden Code, der mir die Einträge aus meiner Eingabemaske in den Bestand überträgt. Soweit so gut.

In meiner Eingabemaske habe ich jedoch 11 Zeilen, in die man Eintragungen machen kann & ich möchte, dass die Daten mithilfe von VBA im Bestand nacheinander jeweils in eine separate Zeile geschrieben werden. Mit meinem Code anbei, wird aber immer nur die erste Zeile im Bestand befüllt..

Könnt ihr mir sagen, wie ich den Code anpassen muss?

Nachfolgend der Code, Beispiel anbei.

Danke Euch & VG
SteBen

Code:
'Ref.
Worksheets("Lagerbestand").Cells(last, 3).Value = Worksheets("Lagereingang").Range("B27:B37").Value
'ord. Dox
Worksheets("Lagerbestand").Cells(last, 4).Value = Worksheets("Lagereingang").Range("C27:C37").Value
'Packstückanz.
Worksheets("Lagerbestand").Cells(last, 5).Value = Worksheets("Lagereingang").Range("D27:D37").Value
'Gewicht
Worksheets("Lagerbestand").Cells(last, 6).Value = Worksheets("Lagereingang").Range("E27:E37").Value
'Lithium
Worksheets("Lagerbestand").Cells(last, 7).Value = Worksheets("Lagereingang").Range("F27:F37").Value
'Empfangsland
Worksheets("Lagerbestand").Cells(last, 8).Value = Worksheets("Lagereingang").Range("G27:G37").Value
'Beschädigung
Worksheets("Lagerbestand").Cells(last, 9).Value = Worksheets("Lagereingang").Range("H27:H37").Value


Angehängte Dateien
.xlsm   Beispiel.xlsm (Größe: 21,52 KB / Downloads: 7)
Top
#2
Hallöchen,

so?

Worksheets("Lagerbestand").Cells(last, 1).Resize(11, 1).Value = ...
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
[-] Folgende(r) 1 Nutzer sagt Danke an schauan für diesen Beitrag:
  • SteBen
Top
#3
... oder in einer Schleife:

PHP-Code:
Private Sub CommandButton1_Click()

'Application.Dialogs(xlDialogSendMail).Show

'
save open
'ActiveWorkbook.Save

'
Lagerbestand
'Erste freie Zeile finden
Dim last As Long
Dim lng_zeile As Long
last = Worksheets("Lagerbestand").Cells(Rows.Count, 1).End(xlUp).Row + 1
lng_zeile = 27
Do Until Worksheets("Lagereingang").Cells(lng_zeile, 2) = ""
    '
Datum
    Worksheets
("Lagerbestand").Cells(last1).Value Worksheets("Lagereingang").Range("F10").Value
    
'Absender. übertragen
    Worksheets("Lagerbestand").Cells(last, 2).Value = Worksheets("Lagereingang").Range("B21").Value
    '
Ref.
    Worksheets("Lagerbestand").Cells(last3).Value Worksheets("Lagereingang").Cells(lng_zeile2).Value
    
'ord. Dox
    Worksheets("Lagerbestand").Cells(last, 4).Value = Worksheets("Lagereingang").Cells(lng_zeile, 3).Value
    '
Packstückanz.
    Worksheets("Lagerbestand").Cells(last5).Value Worksheets("Lagereingang").Cells(lng_zeile4).Value
    
'Gewicht
    Worksheets("Lagerbestand").Cells(last, 6).Value = Worksheets("Lagereingang").Cells(lng_zeile, 5).Value
    '
Lithium
    Worksheets
("Lagerbestand").Cells(last7).Value Worksheets("Lagereingang").Cells(lng_zeile6).Value
    
'Empfangsland
    Worksheets("Lagerbestand").Cells(last, 8).Value = Worksheets("Lagereingang").Cells(lng_zeile, 7).Value
    '
Beschädigung
    Worksheets
("Lagerbestand").Cells(last9).Value Worksheets("Lagereingang").Cells(lng_zeile8).Value
      
'LF secured?
    Worksheets("Lagerbestand").Cells(last, 10).Value = Worksheets("Lagereingang").Range("D53").Value
    last = last + 1
    lng_zeile = lng_zeile + 1
Loop
   
End Sub

Gruß Regina 
[-] Folgende(r) 1 Nutzer sagt Danke an ReginaR für diesen Beitrag:
  • SteBen
Top
#4
Moin,

vielen Dank, dass ist genau, was ich gebraucht habe :)
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste