Откройте другую книгу Excel и получите столбец, используя VBA - PullRequest
0 голосов
/ 30 марта 2020

Я пытаюсь создать пользовательскую форму с VBA, в которой он будет молча открывать рабочую книгу (с помощью CommandButton) и копировать содержимое указанного столбца в ListBox в том же GUI, но после запуска он открывает лист и торчит там без обратного копирования данных. Вот основная часть кода. Может кто-нибудь, пожалуйста, помогите?

Sub OpenBox()

Dim owbSource As Workbook
Dim rSource As Range

With Application.FileDialog(msoFileDialogFilePicker)
    .Show
    fullPath = .SelectedItems.Item(1)
End With

Application.ScreenUpdating = False

Set owbSource = Workbooks.Open(fullPath, True, True)

ThisWorkbook.Activate

Set rSource = owbSource.Worksheets("Property").Range("B5:B77")

ListBox1.RowSource = rSource

End Sub

1 Ответ

0 голосов
/ 30 марта 2020

Я изменил некоторые строки, пожалуйста, попробуйте это

Dim owbSource As Workbook
Dim rSource As Range
Dim rsheetsource As Worksheet
With Application.FileDialog(msoFileDialogFilePicker)
    .Show
    fullPath = .SelectedItems.Item(1)
End With
Application.ScreenUpdating = False
Set owbSource = Workbooks.Open(fullPath, True, True)
Set rsheetsource = owbSource.Sheets("Property")
ThisWorkbook.Activate
Set rSource = rsheetsource.Range("B5:B77")
ListBox1.RowSource = "'" & owbSource.Path & "/[" & owbSource.Name & "]" & rsheetsource.Name & "'!" & rSource.Address
Application.ScreenUpdating = True
...