Я создал многостраничный файл с динамическими страницами. Когда пользовательская форма запускается, пользовательская форма проверяет значения в определенной ячейке в столбце, если они пусты или нет. затем создайте страницу для каждой из непустых ячеек.
Вот мой фрагмент кода
Private Sub UserForm_Initialize()
Dim i As Integer
Dim custDate As Date
Dim vID As String
'ActiveWorkbook.Worksheets("Sheet1").Activate
i = 0
custDate = DateValue(Now)
Range("A1").Offset(1, 0).Select
Do While Not IsEmpty(ActiveCell.Value)
'MsgBox ActiveCell.Address
If custDate = ActiveCell.Value Then 'first column(A) are dates
MultiPage1.Pages.Add
MultiPage1.Pages(0).Controls.Copy 'page 1 is the reference page
i = i + 1 'row counter
ActiveCell.Offset(0, 2).Select 'go to column(C) on the same row where visit ids are located
vID = ActiveCell.Value
MultiPage1.Pages(i).Paste 'copy page 1 contents to new page for each row on the active worksheet
'I guess this is where you put the code to put values
'on a txtbox that was from the reference page which is page 1
ActiveCell.Offset(0, -2).Select 'go back to column(A) to check back dates
End If
ActiveCell.Offset(1, 0).Select 'move to the next row
Loop
MultiPage1.Value = i 'select the new page on the userform
End Sub
Теперь моя проблема заключается в том, как поместить значения из ячейки в текстовое поле, которое было скопировано со скрытой страницы ссылки на динамически созданную новую страницу. Я только вчера начал программировать VBA. Я разработчик приложений для Android, поэтому на данный момент сложно настроить.
MultiPage1.Pages(0).Controls.Copy
это текстовое поле, которое вы копируете? - person Siddharth Rout   schedule 20.02.2013Exit For
Когда я работаю с динамическими элементами управления, я предпочитаю не копировать, а воссоздавать их с нуля, поскольку это дает мне больше контроля над этими объектами. - person Siddharth Rout   schedule 20.02.2013