Excel VBA将变量设置为工作表

时间:2017-03-18 01:59:02

标签: excel vba excel-vba excel-2013

我正在尝试将Worksheet变量设置为Activesheet,但我收到错误

  

对象变量或未设置块变量

这是我的语法 - 这样做的恰当方法是什么?

Sub TestIt()
 Dim ws2 As Worksheet, ws1 As Worksheet

  ws2 = ActiveWorkbook.ActiveSheet
  ws1 = "Belgium"

  Debug.Print ws2
  Debug.Print ws1
End Sub

1 个答案:

答案 0 :(得分:1)

1-您需要使用Set关键字来分配对象变量。

2-您不能直接将表格变量分配给字符串,但需要通过Worksheets集合索引

3-您不能Debug.Print工作表,而只能是其名称或

中的某个单元格
Sub TestIt()
    Dim ws2 As Worksheet, ws1 As Worksheet

    Set ws2 = ActiveWorkbook.ActiveSheet
    Set ws1 = ThisWorkbook.Worksheets("Belgium")

    Debug.Print ws2.Name
    Debug.Print ws1.Cells(1,1).Value
End Sub