Запустите макрос на каждом листе, кроме Sheet1 и Sheet2

Вот что я хотел бы сделать макросом:

Запустите макрос на каждом листе, кроме sheet1 и sheet2

dim rs as worksheet

для каждого rs в листах, если rs.name = "Sheet1" или "Sheet2", затем следующий rs else rs.name = rs.range ("

Я новичок в VBA, и я получаю сообщение об ошибке «следующий без». не уверен, как следующий цикл for и оператор if. заранее спасибо

            Dim rs As Worksheet

            For Each rs In Sheets
               If rs.Name = "sheet1" Or "sheet2" Then
            Next ws
                Else: rs.Name = rs.Range("N2") 'rename sheet base on vendor name field

               End If
            Next rs
 Darrell H02 авг. 2016 г., 14:18
Вы изменили имя переменной с rs на ws. Если вы измените это и удалите двоеточие после остального, оно должно работать.

Ответы на вопрос(1)

Решение Вопроса

Небольшая путаница, попробуйте:

Dim rs As Worksheet

For Each rs In ThisWorkbook.Worksheets
   If rs.Name <> "Sheet1" And rs.Name <> "Sheet2" Then
        rs.Name = rs.Range("N2").Value 'rename sheet base on vendor name field
   End If
Next rs

End Sub
 Saro05 авг. 2016 г., 20:36
Это сработало отлично, спасибо!

Ваш ответ на вопрос