2017-09-22 8 views
0

Ich versuche, ein Formular zu machen, das Informationen in ein anderes Blatt eingibt. Ich bin nicht in der Lage, jedes Mal, wenn ich Informationen gebe, es in die nächste Zeile geht.Wie nächste nächste Zeile in Excel mit VBA verwenden

P.S. Ich muss in der Lage sein zu behalten, welche Zeile die nächste leere Zeile ist.

Do Until IsEmpty(ActiveCell.Value) 
    Count = Count + 1 
    ActiveCell.Offset(1, 0).Select 
Loop 

PN = Worksheets("Sheet3").Cells(1, "B").Value 
Worksheets("Sheet4").Activate 
Range("C2").Activate 

Do Until IsEmpty(ActiveCell.Value) 
    If ActiveCell.Value = PN Then 
     QTF = Worksheets("sheet3").Range("B2") 
     Sdoc = Worksheets("sheet3").Range("B3") 
     Edoc = Sdoc + 1461 
     Worksheets("sheet1").Range("D" + Count) = QTF 
+0

was meinst du mit 'behalten'? – jsotola

Antwort

0

Was ich verwendet wurde:

Do Until IsEmpty(ActiveCell.Value) 
ActiveCell.Offset(1, 0).Select 
Loop 

Das auf die erste leere Zelle meine Active setzen.

1

Sie eine dynamische letzte Zeile für diese nutzen könnten, wie zum Beispiel:

Dim LR as Long 
With Sheets("NAME") 
    LR = .Cells(.Rows.Count, 1).End(xlUp).Row 
End With 

Die Zeile, die Sie Eingang LR ist ... Stellen Sie sicher, dass dies zu Beginn der Schleife definiert ist, oder wenn Sie basieren Ihre Schleife auf LR und definieren LR nach der Schleife neu.


Sie verwenden Count als Zeile ..., wenn Sie möchten, können Sie auch Zählung als Wert zu Beginn definieren, dann Iterierte Zählung am Ende.

Count = 1 
For 'Loop starts 
    'Code that uses "Count" 
    Count = Count + 1 
Next 
Verwandte Themen