VBA Excel宏:使用Range来处理不同的工作表

时间:2010-04-16 22:34:24

标签: excel vba excel-vba

在VBA编程方面,我是一名初学者。

我有一个Macro,它根据一个单元格中的值隐藏或显示列:

Sub HideColumnsMacro()
 Range("b8:o8").EntireColumn.Hidden = False
 v1 = Range("b2").Value + 1
 If v1 < 12 Then
  With Range("b8")
   Range(.Offset(0,v1), .Offset(0, 12)).EntireColumn.Hidden = True
  End With
 End If
End Sub

我希望在更改不同工作表上的单元格时能够获得相同的功能。有没有一种方法可以告诉这个宏在这张表上运行,当它从另一张表运行时?

2 个答案:

答案 0 :(得分:5)

在您的宏中,指定确切的工作表:

Sheets("Sheet1").Range("b8:o8").EntireColumn.Hidden = False

答案 1 :(得分:2)

使用工作表的名称限定Range

Sheet1.Range("b8:o8").EntireColumn.Hidden = False