Я довольно плохо знаком с VBA и программированием в целом. Вот что я пытаюсь сделать:
У меня есть база данных, начинающаяся со строки 21 моего листа (с сохранением имени, имени, работы). Я пытаюсь использовать для l oop, чтобы создать новый лист для каждого имени в базе данных - например (1 - Уильям), (2 - Джон) ...
Когда мы добавляем новый член нашей базы данных и запуск нашего макроса. Он должен добавить новый лист (но не изменять ничего из существующих), поэтому с другими словами просто пропустите (1 - Уильям) и (2 - Джон), но добавьте (3 - Кера).
Пока что создаются 2 первых рабочих листа, но когда я добавляю кого-то в свою базу данных - новый рабочий лист не добавляется.
Может ли кто-нибудь из вас, эксперты, помочь мне решить эту проблему и затормозить то, что я делаю неправильно?
Sub test()
Dim i As Long, LastRow As Long
LastRow = Cells.Find(What:="*", _
After:=Range("A1"), _
LookAt:=xlPart, _
LookIn:=xlFormulas, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious, _
MatchCase:=False).Row
Dim blnFound As Boolean
blnFound = False
For i = 21 To LastRow
For x = 1 To Worksheets.Count
If Worksheets(x).Name = ((i -21) + 1) & " - " & Worksheets("Database").Cells(i, 3).Value Then
blnFound = True
End If
Next
If blnFound = False Then
Worksheets.Add.Move After:=Sheets(1)
ActiveSheet.Name = ((i - 21) + 1) & " - " & Worksheets("Database").Cells(i, 3).Value
End If
Next i
End Sub