У меня есть набор именованных диапазонов на листе, которые содержат сводные данные с других вкладок (по одному на каждый месяц). Диапазоны именуются JAN/FEB/MAR
и т. Д. Мой файл содержит различные отчеты, которые сравнивают один месяц с другим, и чтобы сделать эту динамику, мне нужно, чтобы пользователи могли сравнивать любые два месяца.Userform Listbox для выбора именованного диапазона
Отчеты запускаются на отдельном листе, который имеет вставную (значения) версию, в которой вам нужны все необходимые данные за несколько месяцев, поэтому я хочу, чтобы макрос с пользовательской формой позволял пользователю выбирать месяц, после чего он найдет этот диапазон, скопируйте его и вставьте в лист, который ведет отчет. Мне удалось сделать что-то подобное на основе имен листов (см. Код ниже), но я не могу заставить что-либо работать для названных диапазонов.
Любая помощь, с радостью оцененная, я очень самообразованный любитель всего этого.
Private Sub CommandButton1_Click()
Dim i As Integer, sht As String
For i = 0 To ListBox1.ListCount - 1
If ListBox1.Selected(i) = True Then
sht = ListBox1.List(i)
End If
Next i
Sheets(sht).Range("A4:C15").Copy
Sheets("Sheet1").Select.Range("N1").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
End
End Sub
Private Sub CommandButton2_Click()
Unload UserForm2
End Sub
Private Sub ListBox1_Click()
End Sub
Private Sub UserForm_Initialize()
Dim ws As Worksheet
For Each ws In ThisWorkbook.Worksheets
ListBox1.AddItem (ws.Name)
Next ws
End Sub