Я проектирую пользовательскую форму, которая просматривает неоткрытый лист Excel, назначает его переменной FPATH и затем открывает его. Затем я использую элемент управления RefEdit, чтобы выбрать в этой таблице диапазон ячеек, которые я хочу использовать. Тем не менее, текущее кодирование, которое у меня есть, означает, что когда активирован RefEdit, кажется, что он деактивирует рабочий лист, из которого я хочу извлечь данные, что означает, что он не будет принимать выбранные мной значения. Может кто-нибудь увидеть, где я иду не так. Пожалуйста, посмотрите кодировку, которую я использовал до сих пор.
Это только для vba в excel для статистической таблицы, для которой я создаю графический интерфейс.
Private Sub CommandButton1_Click()
PDIRIV.Hide
DYNA1.Show
End Sub
Private Sub CommandButton3_Click()
End
End Sub
Private Sub CommandButton4_Click()
On Error GoTo err
Dim fileExplorer As FileDialog
Set fileExplorer = Application.FileDialog(msoFileDialogFilePicker)
'To allow or disable to multi select
fileExplorer.AllowMultiSelect = False
With fileExplorer
If .Show = -1 Then 'Any file is selected
FPATH.Text = .SelectedItems.Item(1)
Set xlApp = CreateObject("Excel.Application")
xlApp.Visible = True
Set xlWb = xlApp.Workbooks.Open(FPATH)
Else ' else dialog is cancelled
MsgBox "You have cancelled the dialogue"
FPATH.Text = "" ' when cancelled set blank as file path.
End If
End With
err:
Exit Sub
End Sub
Private Sub RefEdit1_Enter()
If FPATH <> "" Then Application.Workbooks(FPATH.Text).Activate
Label1.Caption = "": RefEdit1 = ""
End Sub
Private Sub UserForm_Initialize()
FPATH.Value = ""
RefEdit1.Value = ""
End Sub