带有用户窗体的活动表
Activesheet with userform
我有一个用户表单,它应该根据组合框“(Select 要更新的层)”一次更新不同的 sheets,请参阅附图,我一按下SAVA DATA 按钮 return 错误。 “运行 时间错误 380” 这是我的代码。列表框应该根据在组合框“(Select 要更新的层)”
下选择的 sheet 进行更新
.ListBox1.ColumnCount = 28
.ListBox1.ColumnHeads = True
.ListBox1.ColumnWidths = "30,50,40,40,35,43,43,28,25,25,25,25,37,50,45,55,70,60,47,35,35,40,40,40,40,50,160,40"
If iRow > 1 Then
.ListBox1.RowSource = "ActiveSheet!A9:AB" & iRow
Else
.ListBox1.RowSource = "ActiveSheet!A9:AB9"
End If
End With
RowSource
属性 需要分配一个字符串引用前缀为
实际的 literal worksheetname 加上感叹号(例如 Sheet1!A9:AB9
),
不是以“ActiveSheet”开头的字符,因为大概不会有一个 sheet 命名
"ActiveSheet".
如果您想使用 VBA 的 ActiveSheet
属性 作为第一部分
您可以使用以下方式获取 sheet 的 地址 通过 additional
External:=True
参数(注意 :=
)其中 returns 完全限定的 sheet 名称为字符串:
.RowSource = ActiveSheet.Range("A9:AB" & iRow).Address (External:=True)
另一种方法是通过&符号连接器简单地连接字符串部分&
,
例如
ActiveSheet.Name & "!A9:AB" & iRow
(使用任何活动的名称 sheet)或
ThisWorkbook.Worksheets("Sheet1").Name & "!A9:AB" & iRow
(使用表格 sheet 名称)或
Sheet1.Name & "!A9:AB" & iRow
(使用代号)
我有一个用户表单,它应该根据组合框“(Select 要更新的层)”一次更新不同的 sheets,请参阅附图,我一按下SAVA DATA 按钮 return 错误。 “运行 时间错误 380” 这是我的代码。列表框应该根据在组合框“(Select 要更新的层)”
下选择的 sheet 进行更新.ListBox1.ColumnCount = 28
.ListBox1.ColumnHeads = True
.ListBox1.ColumnWidths = "30,50,40,40,35,43,43,28,25,25,25,25,37,50,45,55,70,60,47,35,35,40,40,40,40,50,160,40"
If iRow > 1 Then
.ListBox1.RowSource = "ActiveSheet!A9:AB" & iRow
Else
.ListBox1.RowSource = "ActiveSheet!A9:AB9"
End If
End With
RowSource
属性 需要分配一个字符串引用前缀为
实际的 literal worksheetname 加上感叹号(例如 Sheet1!A9:AB9
),
不是以“ActiveSheet”开头的字符,因为大概不会有一个 sheet 命名
"ActiveSheet".
如果您想使用 VBA 的 ActiveSheet
属性 作为第一部分
您可以使用以下方式获取 sheet 的 地址 通过 additional
External:=True
参数(注意 :=
)其中 returns 完全限定的 sheet 名称为字符串:
.RowSource = ActiveSheet.Range("A9:AB" & iRow).Address (External:=True)
另一种方法是通过&符号连接器简单地连接字符串部分&
,
例如
ActiveSheet.Name & "!A9:AB" & iRow
(使用任何活动的名称 sheet)或ThisWorkbook.Worksheets("Sheet1").Name & "!A9:AB" & iRow
(使用表格 sheet 名称)或Sheet1.Name & "!A9:AB" & iRow
(使用代号)