动态工作表名称

时间:2016-07-14 14:55:08

标签: excel vba

我正在尝试创建一个动态名称,可以帮助拉出具有匹配名称的工作表。首先,我创建了一个动态的字符串变量Country,它将从列的每一行获取值:

frame.addActionListener(this);

然后我尝试将此Country与工作表名称匹配:

For k = 2 To 59
  srange0 = "A" & k & ""
 Country = wsforecast.Range(srange0).value

但我会收到一条消息,告诉我这个方法不受支持。您对如何使此选项卡名称动态有任何建议吗?非常感谢你!

1 个答案:

答案 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究竟是什么

编辑:可能值得解释一下 - 这样做是为了“抓住”工作表,但如果工作表不存在则需要确保忽略错误,然后检查工作表是否存在,如果它会启动,循环将启动,如果没有,它将跳过。