我正在尝试创建一个动态名称,可以帮助拉出具有匹配名称的工作表。首先,我创建了一个动态的字符串变量Country,它将从列的每一行获取值:
frame.addActionListener(this);
然后我尝试将此Country与工作表名称匹配:
For k = 2 To 59
srange0 = "A" & k & ""
Country = wsforecast.Range(srange0).value
但我会收到一条消息,告诉我这个方法不受支持。您对如何使此选项卡名称动态有任何建议吗?非常感谢你!
答案 0 :(得分:0)
如果我正确地找到了您需要的内容,请尝试将循环更改为:
Dim shCheck as Object
On error Resume next
set shCheck = wbregion.Worksheets(Country)
on error goto 0
If Not (shCheck is nothing) Then
For i = 1 To cntyn
For j = 5 To forec
If Cells(i, "A").value = rcell Then
If Cells(i, "C").value = wbregion.Worksheets(Country).Cells(j, "B").value Then
srange1 = "I" & j & ":" & "n" & j
srange2 = "D" & i & ":" & "i" & i
wsforecast.Range(srange2).Value2 = wsregion.Range(srange1).Value2
End If
End If
Next j
Next i
End If
Next k
我也不知道代码中的wbregion
究竟是什么
编辑:可能值得解释一下 - 这样做是为了“抓住”工作表,但如果工作表不存在则需要确保忽略错误,然后检查工作表是否存在,如果它会启动,循环将启动,如果没有,它将跳过。