Ich habe dieses Skript hier gefunden und es an meine Bedürfnisse angepasst. Aber ich kann nicht herausfinden, wie eine Zelle statt der gesamten Zeile einzufügenZelle über dem Zellenwert einfügen
Sub BlankLine()
Dim Col As Variant
Dim Col2 As Variant
Dim BlankRows As Long
Dim LastRow As Long
Dim R As Long
Dim StartRow As Long
Col = "A"
Col2 = "B"
StartRow = 2
BlankRows = 1
LastRow = Cells(Rows.Count, Col).End(xlUp).Row
Application.ScreenUpdating = False
With ActiveSheet
For R = LastRow To StartRow + 1 Step -1
If .Cells(R, Col) <> .Cells(R, Col2) Then
.Cells(R, Col2).EntireRow.Insert Shift:=xlUp
End If
Next R
End With Application.ScreenUpdating = True
End Sub
Also, wenn Spalte A Spalte B zu einem bestimmten Zeile nicht ein Raum dann mit dem vergleichen, ging Übereinstimmen einzufügen hält über das Hinzufügen einer Zeile irgendein falscher Wert.
Example: 1 1
2 3
3 4
Becomes: 1 1
2
3 3
4
Jede Hilfe würde sehr geschätzt werden!
Ändern des Falls .Cells (R, Col) <> .Cells (R, Col2) Dann .Cells (R, Col2) .EntireRow.Insert Shift: = xlUp zu Wenn .Cells (R, Col) <> .Cells (R, Col2) Dann .Zellen (R, Col2) .Insert Shift: = xlDown Muss mit der Bestellung spielen. Ich kann mich darum kümmern, dass ich zur Arbeit komme, wenn niemand es tut. –
Für R = StartRow scheint LastRow besser zu funktionieren, obwohl es abhängig von Ihrem Dataset immer noch Probleme geben kann. –
Col und Col2 sind nicht wirklich Varianten ... Sie verwenden sie als Strings. – Rdster