на окремому запиті VBA Excel 2007, як використовувати список у розділі "Розробник"> "Контроль форм"?
Я хотів би відобразити деякі дані з іншоголист (скажімо wsData), але я хотів би відобразити дані, специфічні для користувача (скажімо wsInterface, осередок A1), і НЕ використовувати "формат управління"> "контроль"> "вхідний діапазон"
так що у мене буде форма, яка з'явиться, щоб підказати користувачеві ім'я, яке буде вписано у лист wsInterface A1, і я хотів би, щоб дані, що стосуються користувача, відображалися у списку. Дякую
wsData:
name | date | remarks
Mr A 22/2/11 blah blah blah 1.
Mr B 22/2/11 blah blah blah 2.
Mr A 23/2/11 blah blah blah 3.
wsInterface:
Cell A1: Mr A
ListBox (2 columns)
22/2/11 blah blah blah 1.
23/2/11 blah blah blah 3.
ось мої коди в одному з макросів:
Sub CustRemarkListBox_Change()
Dim lbtarget As MSForms.ListBox
Dim rngSource As Range
Dim rw As Range
Dim i As Long
Set rngSource = Range("Remarks")
Встановіть lbtarget = CustRemarkListBox
With lbtarget
.ColumnCount = 2
.ColumnWidths = "50;200"
For Each rw In rngSource.Rows
If rw.Cells(1, 1) = Worksheets("ExistingCustomer").Range("C4") Then
.AddItem ""
For i = 1 To .ColumnCount
.List(.ListCount - 1, i - 1) = rw.Cells(1, i)
Next
End If
Next
End With
End Sub
Один у жирній моїй проблемі, на ньому написано: "Об'єкт обов'язковий", що означає, що він не виявив мого списку в моєму робочому аркуші Excel, який отримав назву "CustRemarkListBox"
Відповіді:
0 для відповіді № 1Отже, якщо я вас правильно розумію, користувач повинен ввести ім'я в клітинку, і ви хочете, щоб список було заповнено на основі введеного імені?
Ви можете використовувати щось подібне до події Worksheet_Range, щоб запустити деякий код для заповнення списку, коли ви вводите ім'я, яке може відповідати.
Як ви знайомі з VBA? Для коду відповідної сторінки можна використати щось подібне до наведеного нижче.
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address = "A1" Then
"put your code here
End If
End Sub