Я использовал код, на который был отправлен ответ в ссылке, которую я добавил ниже, и у меня есть некоторые проблемы, можете ли вы мне помочь?Диалоговое окно VBA для выбора диапазона в разных книгах, зависающих вверх
VBA Dialog box to select range in different workbook
Когда я нажимаю на поле REFEDIT, чтобы иметь возможность выбрать диапазон я хочу использовать это вешает, и я получаю звук, когда я нажимаю о том, что есть еще одно окно открыть где-то с более высокий приоритет, но я не могу его найти.
В основном, я пытаюсь скопировать указанные столбцы из одной книги и вставить их в лист в моей оригинальной книге. Я знаю, что моя кодировка «copyButton_Click()» не подходит, но я не могу зайти так далеко в отладку, чтобы ее исправить. Вот что у меня есть:
МОДУЛЬ 1:
Sub extractData()
Dim FName As Variant
Dim wb As Workbook
Dim destSheet As String
'
Application.ScreenUpdating = False
destSheet = "NewData"
'
'Selects and clears data
Sheets(destSheet).Select
Range("A2:I12000").Select
Selection.delete Shift:=xlUp
Range("A2").Select
'
'Prompts user to select updated ILP file to copy data from:
FName = Application.GetOpenFilename(filefilter:="Excel Files (*.xls;*.xlsx;*.xlsm), *.xls;*.xlsx;*.xlsm")
If FName <> False Then
Set wb = Workbooks.Open(FName)
'
ExtractCompareUserForm.Show vbModeless
'
End If
Application.ScreenUpdating = True
End Sub
UserForm КОД:
Private Sub UserForm_Initialize()
Dim wb As Workbook
'~~> Get the name of all the workbooks in the combobox
For Each wb In Application.Workbooks
ComboBox1.AddItem wb.Name
Next
ComboBox1 = ActiveWorkbook.Name
End Sub
'~~> This lets you toggle between all open workbooks
Private Sub Combobox1_Change()
If ComboBox1 <> "" Then Application.Workbooks(ComboBox1.Text).Activate
Label1.Caption = "": RefEdit1 = ""
End Sub
'~~> This lets you choose the relevant range
Private Sub RefEdit1_Change()
Label1.Caption = ""
If RefEdit1.Value <> "" Then _
Label1.Caption = "[" & ComboBox1 & "]" & RefEdit1
End Sub
Private Sub copyButton_Click()
Dim addr As String
'
addr = RefEdit1.Value
'
'Copy Data:
UserForm1.addr = Selection.Address
addr.Copy
End Sub
Private Sub PasteButton_Click()
Dim destSheet As String
'
Workbooks(2).Close SaveChanges:=False
'
' Now, paste to working workbook:
Sheets("NewData").Activate
Range("B2").Select
ActiveSheet.Paste
Application.CutCopyMode = False
Unload Me
'
Call CopyData
End Sub
Вот где висит и не позволяет мне нажать на что-нибудь.
Проблема все еще существует, когда я пытаюсь t @ R3uK – JFro777
Хммм ... Мой плохой, я забыл переключиться ...:/См. редактирование, но вы, возможно, уже пробовали его Я предполагаю, что вы также пробовали с помощью простого «ExtractCompareUserForm.Show vbModal»? – R3uK
AHH Да! ExtractCompareUserForm.Show vbModal исправил проблему! Большое спасибо @ R3uK Если вы хотите отрегулировать отредактированное выше, я за исключением ответа. – JFro777