Я сделал код, который будет использовать range.autofill, чтобы расширить лист, пока он не достигнет столбца «DO». Код работает нормально, но только когда файл используется совместно (что и должно быть). условный формат не работает. Каким-то образом функция автозаполнения в VBA забывает об условном формате, когда рабочая книга является общей.
Невозможно отключить общую книгу, потому что в файле могут находиться другие люди, и файл не может быть перезаписан, когда они находятся в файле (я думаю?)
Кто-нибудь знает обходной путь?
Это мой код:
Dim lColumn As Long
Dim iCntr As Long
lColumn = 20
For iCntr = lColumn To 13 Step -1 '12 is de eerste kolom in dit geval kolom M
If Cells(3, iCntr) = 0 Then '3 is de rij waar de 0 of 1 wordt gepresenteerd
Columns(iCntr).Delete
End If
Next
With Workbooks("Bureauplanning.xlsm").Worksheets("Planning")
Dim rngStart As Range
Set rngStart = .Cells(2, .Columns.Count).End(xlToLeft).Offset(, -3).EntireColumn
Dim rngEnd As Range
Set rngEnd = .Cells(2, .Columns.Count).End(xlToLeft).EntireColumn
Dim rng As Range
Set rng = .Range(rngStart, .Columns("DO"))
Dim rngX As Range
Set rngX = .Range(rngStart, rngEnd)
End With
If Range("DO3") <> 0 Then GoTo volgende
rngX.AutoFill rng, Type:=xlFillDefault