Excel 如何在vba中使用行中的偏移函数()函数
我想写一个函数,根据您选择的下拉选项隐藏某些行。我必须在工作表中多次重复使用此代码,因此我不希望它依赖于单元格,而是使用OFFSET函数 这是我写的Excel 如何在vba中使用行中的偏移函数()函数,excel,vba,Excel,Vba,我想写一个函数,根据您选择的下拉选项隐藏某些行。我必须在工作表中多次重复使用此代码,因此我不希望它依赖于单元格,而是使用OFFSET函数 这是我写的 Tcell = Range("D3") If Tcell = "example 1" Then Rows("4:19").Hidden = False Rows("12:19").Hidden = True ElseIf Tcell = "
Tcell = Range("D3")
If Tcell = "example 1" Then
Rows("4:19").Hidden = False
Rows("12:19").Hidden = True
ElseIf Tcell = "example 2" Then
Rows("4:19").Hidden = False
Rows("10:19").Hidden = True
ElseIf Tcell = "example 3" Then
Rows("4:19").Hidden = False
Rows("16:19").Hidden = True
End If
我试着使用下面这样的东西,但它有一个13型匹配错误。谢谢你的帮助
If Tcell = "example 1" Then
Rows("Tcell.Offset(1):Tcell.Offset(16)").Hidden = False
Rows("Tcell.Offset(1):Tcell.Offset(16)").Hidden = True
是范围
对象的属性,不属于括号内。Tcell
首先将t单元格
更改为范围
并设置它
然后您可以在此处使用和:
我认为您需要将Tcell调暗为一个范围,然后使用“set Tcell=range(“D3”)”@Amiga500-good point进行设置。我忽略了
Tcell=Range(“D3”)
,因为它在问题的代码块之外。编辑以修复该问题和答案。@BigBen感谢您的帮助。我想知道第二行的9和8是从哪里来的?对不起,我几周前才开始使用vba。这只是简单的数学。如果起始单元格位于第3行,并且希望到达第12行,则偏移9行。然后行(“12:19”)
包含8行。@BigBen哦,好的,我现在看到了,再次感谢!
Dim Tcell As Range
Set Tcell = ActiveSheet.Range("D3")
If Tcell.Value = "example 1" then
ActiveSheet.Rows(Tcell.Row).Offset(1).Resize(16).Hidden = False
ActiveSheet.Rows(Tcell.Row).Offset(9).Resize(8).Hidden = True
' and similarly for the other cases
End If