あなただけの角括弧内のワークブックの名前の前に付ける必要がある
あなただけやった場合:次に
ComboBox1.RowSource = "[Project.xlsx]Sheet1!G1:G" & Range("G" & Rows.Count).End(xlUp).Row
あなたが認定していないとして、それが動作しないRange
あなたは(例えば、1つで作業したいですプロジェクトワークブックのワークシートを参照してください)。
次のコードは、プロジェクトのワークブックのSheet1
の列Gに範囲を見つけて、あなたのUserForm
にComboBox
に値を代入します:
Option Explicit
Private Sub UserForm_Initialize()
Dim wbExternal As Workbook '<-- the other workbook with the data
Dim wsExternal As Worksheet '<-- the worksheet in the other workbook
Dim lngLastRow As Long '<-- the last row on the worksheet
Dim rngExternal As Range '<-- range of data for the RowSource
Set wbExternal = Application.Workbooks("Project.xlsx")
Set wsExternal = wbExternal.Worksheets("Sheet1") '<-- change to your sheet if required
lngLastRow = wsExternal.Range("G" & wsExternal.Rows.Count).End(xlUp).Row
Set rngExternal = wsExternal.Range("G1:G" & CStr(lngLastRow))
ComboBox1.RowSource = rngExternal.Address(External:=True)
End Sub