Ich möchte ein Makro erstellen, um Formeln auszufüllen. Daten werden von einer Website kopiert und separat auf Sheet1
eingefügt. Sheet2
enthält Formeln zum Bereinigen und Anordnen der Daten, einschließlich der Eliminierung von Zeilen anhand eines Kriteriums. Das Problem ist, dass wenn ich die Formeln vor dem Eliminieren der Zeilen ausfülle, bekomme ich einen #REF
Fehler. Ich möchte die Füllung in das Makro aufnehmen, da ich bereits eine habe, um die Zeilen zu löschen. Ich möchte das Zeichen 160 nicht durch einen tatsächlichen ersetzen. Mein Makro ist darunter platziert.Formel ausfüllen basierend auf Daten in einem anderen Blatt
Code:
Sub chng()
Dim x As Long, lastrow As Long
lastrow = Cells(Rows.Count, 1).End(xlUp).Row
For x = lastrow To 1 Step -1
If Cells(x, 2).Value = "SA" Or Cells(x, 2).Value = "EVC" Then
Rows(x).Delete
End If
Next x
Application.ScreenUpdating = False
Columns("A:A").Select
Selection.Replace What:=" ", Replacement:=" ", LookAt:=xlPart, SearchOrder _
:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
Application.ScreenUpdating = True
Range("A1").Select
End Sub
Mit anderen Worten, was ich bewerkstelligen wollen, sobald ich die Info Einfügen beendet haben, das Makro ausführen, löschen Sie die Zeilen, ändern Zeichen 160 für einen tatsächlichen Raum dann die Zeilen zählen (ohne Header) auf Sheet1
und füllen Sie auf sheet2
basierend darauf z wenn ich 140 Zeilen von Daten habe ich aus Reihe 2 bis 141.
Sektion bearbeiten: Dim x As Long, LastRow As Long, totalRows As Long LastRow = Cells (Rows.Count, 1) .End (xlUp) .Row totalRows = LastRow Für x = LastRow Zu 1 Schritt -1 Wenn Zellen (x, 2) .Value = "SA" oder Zellen (x, 2) .Value = "EVC" Dann Zeilen (x) .Delete totalRows = totalRows - 1 End If Next x Die Formatierung kann in diesem Kommentar ein wenig seltsam sein. Haben Sie bereits Code zum Kopieren der Formeln? –