Как определить динамический массив рабочих таблиц во внешней рабочей книге и ввод на основе выбора выпадающего меню - PullRequest
0 голосов
/ 11 января 2019
  • У меня есть книга, заполненная шаблонами, которая называется TemplateWB.
  • У меня есть вторая рабочая тетрадь, назовем ее «UPB»
  • UPB содержит именованный диапазон от B16 до B48 (Сделки), и каждая ячейка в этом диапазоне имеет одно и то же выпадающее меню, заполненное в нем.

  • В B16 имеются выпадающие списки: B48

  • Я знаю, что мне нужен цикл for для цикла B16: B48
  • Я предполагаю, что мне нужен цикл for для циклического прохождения всех рабочих листов в "TemplateWB"
  • Я изо всех сил пытаюсь правильно определить рабочие таблицы шаблона в TemplateWB, чтобы завершить цикл в этом динамическом диапазоне

Sub TabImport () Dim CalcMode As Long С приложением .DisplayAlerts = False .DisplayStatusBar = False CalcMode =. Расчет .Calculation = xlCalculationManual Конец

Dim UPB As Workbook 'UPB = Ultimate Pricing Book
Dim TemplateWB As Workbook 'Workbook containing all template sheets
Dim temp As Range, TP As Range 'individual template worksheets in TemplateWB
Dim Summary As Worksheet 'Worksheet containing a range with dropdown lists
Dim Recap As Worksheet 'worksheet in UPB for new templates to be placed after
Dim TemplateName As String
Dim i As Integer
Dim lr As Long
Dim tempname As String 'name of individual template worksheets in TemplateWB
Dim Trades As Range, TCell As Range 'range on UPB containing drop down lists
Set temp = Workbook("TemplateWB").Sheets
Set tempname = Workbook("TemplateWB").Sheets

For Each TCell In Trades 'loop through B16 to B48
    If InStr(1, TCell.Name, TemplateName) > 0 Then
        Workbooks.Open FileName:="E:\Templates\Pricing\Ultimate Pricing Workbook Development (UPWD)\TemplateWB.xltm"
            For Each TP In temp 'loop through each template sheet in TemplateWB
                If tempname = TemplateName Then
                temp.Copy after:=Workbooks("UPB").Worksheets("Recap")
                Else
                End If
                Next temp
            TemplateWB.Close SaveChanges:=False
    Else
    End If
Next TCell

UPB.Activate
With Application
    .DisplayAlerts = True
    .DisplayStatusBar = True
    .Calculation = CalcMode
End With

End Sub

  • Я пытаюсь использовать раскрывающиеся списки, чтобы скопировать определенные шаблоны листов из книги «TemplateWB», которые соответствуют раскрывающемуся выбору. То есть, если в раскрывающемся списке выбрана буква «А», в «TemplateWB» есть лист «Шаблон А», который соответствует этому выбору. Который затем будет занесен в рабочую книгу «UPB».
  • Повторы не допускаются
  • Кроме того, я хочу, чтобы они заполнялись, поскольку пользователь делает выбор в каждой ячейке. ** Диапазон «Сделки» следует считать динамическим ** Количество шаблонных листов в «TemplateWB» также следует считать динамическим ** TemplateWB будет в защищенном каталоге, когда все сказано и сделано

То, что я получаю с моим текущим кодом, это ошибка компиляции

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