Excel VBA 将变量设置为工作表

Excel VBA To Set Variable To Worksheet

我正在尝试将 Worksheet 变量设置为 Activesheet,但出现

错误

Object variable or with block variable not set

这是我的语法 - 这样做的合适方法是什么?

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

  ws2 = ActiveWorkbook.ActiveSheet
  ws1 = "Belgium"

  Debug.Print ws2
  Debug.Print ws1
End Sub

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

2- 不能直接将sheet变量赋值给字符串,而是需要通过Worksheets集合进行索引

3- 你不能Debug.Print 一个作品sheet,只能是它的名字或里面的某个单元格

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