【发布时间】:2020-10-22 18:33:29
【问题描述】:
好的天才蜂巢思维,这次我做错了什么?
'wb and ws dimmed in module level declarations...
Set wb = ThisWorkbook
wb.activate
Dim I As Integer, sheetCount As Integer
sheetCount = wb.Worksheets.Count
Dim sheetNum As Integer
sheetNum = 1
With cboCopyFromSheet 'combobox
For I = 0 To sheetCount - 1
'not sure why the capital 'I' describing an object?
'copied from MS documentation
If wb.Worksheets(sheetNum).Visible = True Then
.AddItem wb.Worksheets(sheetNum).Name, I '<----Error
End If
sheetNum = sheetNum + 1
Next I
End With
奇怪的是,这只发生在 I = 9 和 sheetnum = 10 时 当前没有隐藏任何工作表(但有些会隐藏) 表 10 恰好是一张空白表... 我们很有孔子。
抛出的错误是“无效参数” 有什么线索吗?
【问题讨论】:
-
当你谈到错误时,它必须与抛出它的代码行相关联。不需要任何
sheetNum变量,因为您在工作表之间迭代并使用I代替。请检查我发布的答案... -
.AddItem wb.Worksheets(sheetNum).Name, I不需要最后一个参数 (I)...
标签: vba loops combobox visible