Ошибка создания создания листов с циклом for в Excel - PullRequest
0 голосов
/ 08 февраля 2019

В какой-то момент, как часть более крупного макроса, я должен создать определенное количество листов в определенной позиции.

Для этого и, поскольку я начинающий с макросами (и программированием в целом), у меня естьЯ выполнил тест по простому сценарию.

Я видел похожий вопрос здесь

Но, адаптируя этот код к моему случаю, я могу создать только первыйлист и получаю ошибку в следующем.

Код сейчас такой:

Sub AddSheets()

Dim siteCount As Integer
Dim i As Integer

siteCount = 2


For i = 1 To siteCount
    Name = Cells(i, 26)
    Set site_i = Sheets.Add(after:=Sheets("DLC_" & CStr(Name)))
    site_i.Name = "DLC" & CStr(Name)

Next i
End Sub

Что я не вижу?

1 Ответ

0 голосов
/ 08 февраля 2019

Если ваша идея заключается в добавлении рабочих листов в рабочую книгу на основе значений ячеек Z1 и Z2, это возможное решение.Во-первых, убедитесь, что у вас действительно есть некоторые значения в Z1 и Z2 в первом листе вашей рабочей книги.

enter image description here

Z1 и Z2, потому что используютсяони упоминаются в оригинальном вопросе здесь: Name = Cells(i, 26).Cells() занимает сначала строку, а затем столбец.Затем запустите этот код:

Option Explicit

Sub AddSheets()

    Dim siteCount As Long
    Dim i As Long
    Dim name  As String
    siteCount = 2

    Dim newWks As Worksheet

    For i = 1 To siteCount
        With Worksheets(1)
            name = .Cells(i, 26)
            If .Cells(i, 26) <> "" Then
                Set newWks = Worksheets.Add(after:=Worksheets(Worksheets.Count))
                newWks.Name = .Cells(i, 26)
            Else
                MsgBox Cells(i, 26).Address & "is empty"
            End If
        End With
    Next i

End Sub

Рабочие листы добавляются с: Set newWks = Worksheets.Add(after:=Worksheets(Worksheets.Count))

Их имя изменяется с newWks.Name = .Cells(i, 26)

Как добавитьИменованные листы в конце всех листов Excel

Если вы дважды запустите код, вы получите ошибку, потому что рабочие листы с соответствующими именами уже существуют в рабочей книге.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...