Ich schrieb dieses Makro unten, um zu überprüfen, ob zwischen zwei Daten in benachbarten Spalten eine Lücke ist, und dann Spalten einzufügen, um diese Lücke zu füllen.Erweitern Letzte Spalte Excel VBA
Ich möchte, dass es auf so viele Spalten ausgeführt werden kann, wie es auf dem Arbeitsblatt gibt, aber aus bestimmten Gründen hängt DateRange auf die ursprüngliche Größe des Arbeitsblatts und berücksichtigt nicht die zusätzlichen Spalten das Makro hat hinzugefügt. Ich hatte noch nie ein Problem damit, also bin ich ratlos!
Jeder da draußen weiß, was ich tun könnte, um das zu beheben?
Sub weekendsouts()
Dim OUTSDATA As Worksheet, LastColumn As Long, _
DateCell As Range, DateRange As Range
Set OUTSDATA = Worksheets("OUTS DATA")
LastColumn = OUTSDATA.UsedRange.Columns.Count
Set DateRange = OUTSDATA.Range(OUTSDATA.Cells(2, 8), OUTSDATA.Cells(2, LastColumn).Address)
For Each DateCell In DateRange
With DateCell
If .Value <> "" Then
If .Offset(0, 1).Value <> .Value + 1 And .Offset(0, 1).Value <> .Value Then
.Offset(0, 1).EntireColumn.Insert
.EntireColumn.Copy Destination:=.Offset(-1, 1)
.Offset(0, 1).Value = .Offset(0, 1).Value + 1
End If
End If
End With
Next DateCell
End Sub
Sie werden einen Standard für Schleife und Schleifen zurück wünschen '' Für LastColumn zu 8 Schritt - 1' –
@ScottCraner zum zweiten Mal heute hat das Glück für mich. Ich habe meine Antwort geschrieben, bevor ich deinen Kommentar ehrlich gelesen habe! Ich werde bald einen schlechten Ruf dafür bekommen: s –