Добрый день!
Я в vba не силен. Пытаюсь решить задачу очистки данных ячеек в книге если имя листа равно определенному значению. Написал код, но не на всех листах работает.
Предполагаю, что дело в этой строке: ElseIf Sheets(StartList).Name = Left(Sheets(StartList).Name, 3) = "ВО1" Then
Можно данную процедуру написать иначе?
Я в vba не силен. Пытаюсь решить задачу очистки данных ячеек в книге если имя листа равно определенному значению. Написал код, но не на всех листах работает.
Предполагаю, что дело в этой строке: ElseIf Sheets(StartList).Name = Left(Sheets(StartList).Name, 3) = "ВО1" Then
Можно данную процедуру написать иначе?
Код |
---|
Sub NumeraciyDelet() Dim ListiVse As Long Dim Name As Variant Dim a As Integer 'Счетчик Dim StartList As Long Dim Sheet As Variant ListiVse = Worksheets.Count StartList = 1 For a = 1 To ListiVse Sheet = Left(Sheets(StartList).Name, 3) If Sheets(StartList).Name = "Титул" Then Worksheets(StartList).Range("DA31:DF31").ClearContents 'Удалить нумерацию на титуле ElseIf Sheets(StartList).Name = Left(Sheets(StartList).Name, 3) = "ВО1" Then Worksheets(StartList).Range("AY243:BA243").ClearContents 'Удалить нумерацию на ВО1 ElseIf Sheets(StartList).Name = Left(Sheets(StartList).Name, 2) = "ВО" Then Worksheets(StartList).Range("AZ254:BA254").ClearContents 'Удалить нумерацию на ВО 'ElseIf Sheets(StartList).Name = Left(Sheets(StartList).Name, 3) = "МК1" Then ElseIf Sheet = "МК1" Then Worksheets(StartList).Range("SkvNum1").ClearContents 'Удалить нумерацию МК1 ElseIf Sheets(StartList).Name = Left(Sheets(StartList).Name, 2) = "МК" Then Worksheets(StartList).Range("SkvNum2").ClearContents 'Удалить нумерацию МК ElseIf Sheets(StartList).Name = Left(Sheets(StartList).Name, 3) = "КН1" Then Worksheets(StartList).Range("DA52:DF52").ClearContents 'Удалить нумерацию КН1 ElseIf Sheets(StartList).Name = Left(Sheets(StartList).Name, 2) = "КН" Then Worksheets(StartList).Range("DA53:DF53").ClearContents 'Удалить нумерацию КН ElseIf Sheets(StartList).Name = Left(Sheets(StartList).Name, 3) = "ОК1" Then Worksheets(StartList).Range("OK_SkvNum1").ClearContents 'Удалить нумерацию ОК1 ElseIf Sheets(StartList).Name = Left(Sheets(StartList).Name, 2) = "ОК" Then Worksheets(StartList).Range("OK_SkvNum2").ClearContents 'Удалить нумерацию ОК ' End If ' End If ' End If ' End If ' End If ' End If ' End If ' End If End If StartList = StartList + 1 Next End Sub |