Я пытаюсь создать макрос, который займет конкретный рабочий лист в моей книге , пройти через определенную строку, и если ячейка явно равна 0, удалите этот столбец и следующие четыре столбца справа.VBA Excel - удалять столбцы, если ячейка явно равна нулю
У меня мало опыта работы с VB, поэтому я изо всех сил пытаюсь обнять его.
Любая помощь была бы принята с благодарностью.
Это код, который я до сих пор:
Sub SaveAsW()
Dim strFilename As String
Dim strpath As String
Dim curCell As Range
Dim TempValue, ColNr, RowNr, SecCol
RowNr = 35
strpath = Sheets("Rebooking Calculations").Range("AK9").Text
strFilename = Sheets("Ticket Input").Range("M10").Text
ThisWorkbook.Sheets("Tickets (1-48)").Copy
With ActiveWorkbook
For ColNr = 8 To 320
TempValue = Cells(RowNr, ColNr)
If (Application.IsNumber(TempValue)) And TempValue.Value = 0 Then
For SecCol = 1 To 4
Cells.EntireColumn.Delete
Next SecCol
End If
Next ColNr
.SaveAs strpath & "\" & strFilename & "(1-48)" & ".xls"
.Close 0
End With
UPDATE:
ж/помочь в этом, как я решить мою проблему.
ThisWorkbook.Sheets("Tickets (1-48)").Copy
With ActiveWorkbook
For ColNr = 8 To 250
If Cells(RowNr, ColNr - 1) = "0" Then
TempValue = Cells(RowNr, ColNr - 1)
If TempValue = "0" Then
For i = 0 To 9
Cells(RowNr, ColNr - 1).Select
Cells(RowNr, ColNr - 1).EntireColumn.Delete
Next i
ColNr = ColNr - 1
Else
End If
Else
End If
Next ColNr
.SaveAs strpath & "\" & strFilename & "(1-48)" & ".xls"
.Close 0
End With
Thanks. (NB: Я в конечном итоге того, чтобы удалить следующие 9 столбцов, следовательно, цикл)
Мог бы вы предоставить некоторые тестовые данные? – Cleb
Мы знаем ваше требование. Как насчет кода? Это работает или дает ошибку? Если дать ошибку, скажите строку, которая дает ошибку. –
Почему так много голосов? И здесь нет необходимости в тестовых данных, требование довольно ясное, а код довольно близок, поэтому просто исправляйте и указывайте ошибки или неточности в нем ... – R3uK