Я пытался создать макросы для создания рабочих листов. Код должен делать следующее:Excel: VBA создавать рабочие листы без дубликатов
1) Создайте рабочие листы для столбца B с основного листа, используя шаблон из рабочего листа «Шаблон».
2) Диапазон значений столбца B в главном листе является переменным, но это моя первая попытка с excel-vba, и я не знаю, как установить диапазон переменных.
3) Переименовать каждый рабочий лист в соответствии с именем в каждой ячейке в ColumnB
3.1) ColumnB имеет повторяющиеся записи, но нам нужно создать только один лист для повторяющихся ячеек. (удаление дубликатов не является опцией)
4) Гиперссылка рабочих листов на ячейки в столбце B мастер-листа.
У меня проблемы с точкой 3.1, упомянутой выше. Ниже приведена самая близкая вещь, которую я нашел полезной: можем ли мы доработать ее по моим требованиям?
Sub CreateAndNameWorksheets()
Dim c As Range
Application.ScreenUpdating = False
For Each c In Sheets("Master").Range("B5:B25000")
Sheets("Template").Copy After:=Sheets(Sheets.Count)
With c
ActiveSheet.Name = .Value
.Parent.Hyperlinks.Add Anchor:=c, Address:="", SubAddress:= _
"'" & .Text & "'!A1", TextToDisplay:=.Text
End With
Next c
Application.ScreenUpdating = True
End Sub
Спасибо!
The [SheetExists] (HTTP : //stackoverflow.com/questions/6688131/test-or-check-if-sheet-exists) функция в этом ответе поможет. Итак, сначала проверьте, есть ли лист, и если так, перейдите к следующей ячейке. –
О, ладно, попробуем. –