Как я могу получить значение динамического изменения списка в пользовательской форме, когда пользователь изменяет значение другого списка в той же пользовательской форме. Основная часть, которая вызывает у меня проблемы, - это lstMonth. Значение lstMonth должно совпадать с месяцами, которые коррелируют с данными в разных листах, которые будут отображаться в первом списке. Я предоставлю изображение формы и данных, чтобы это все стало больше. Получение динамического изменения значения списка с листами
Код
Option Explicit
Private Sub cmdCalc_Click()
'declare variables and assign address to rngData variable
Dim strId As String, intRow As Integer, intNumSales As Integer, curSales As Currency
Dim rngData As Range
Set rngData = Application.Workbooks("t13-ex-e4d.xls").Worksheets("jan").Range("a3").CurrentRegion
'assign selected list box item to strId variable
strId = lstId.Value
'locate first occurrence of ID
intRow = 2
Do Until rngData.Cells(RowIndex:=intRow, columnindex:=4).Value = strId
intRow = intRow + 1
Loop
'accumulate and count salesperson's sales, stop when loop encounters different ID
Do While rngData.Cells(RowIndex:=intRow, columnindex:=4).Value = strId
curSales = curSales + rngData.Cells(RowIndex:=intRow, columnindex:=3).Value
intNumSales = intNumSales + 1
intRow = intRow + 1
Loop
'display appropriate amount
If optTotal.Value = True Then
lblAnswer.Caption = Format(expression:=curSales, Format:="currency")
Else
lblAnswer.Caption = Format(expression:=curSales/intNumSales, Format:="currency")
End If
End Sub
Private Sub cmdCancel_Click()
'close custom dialog box
Unload frmSalesCalc
End Sub
Private Sub UserForm_Initialize()
lstMonth.Value = Application.Workbooks("T13-EX-E4D.xls").ActiveSheet.Range("b3").CurrentRegion
End Sub
Я действительно не понимаю вопрос, что должно быть в списке месяца? все месяцы есть или все месяцы, когда у продавца есть продажи? –
Поле списка месяцев должно совпадать с именами всех листов в книге. Сейчас есть 3 (февраль, март, апрель). Однако, если кто-то должен добавить май, ему нужно будет автоматически поместить may в список. После того, как это работает, поле списка слева от месяца должно измениться на идентификатор продаж, который находится на выбранном листе. Надеюсь, это поможет! –