关于Excel VBA 隐藏行或列的问题

问题1:Rows("1:1").EntireRow.Hidden=True这条语句放到宏里手动执行好用但是放到自定义函数里,根据条件自动执行就没反应了。问题2:Priva... 问题1:
Rows("1:1").EntireRow.Hidden = True
这条语句放到宏里手动执行好用
但是放到自定义函数里,根据条件自动执行就没反应了。
问题2:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 And Target.Value = 0 Then Target.Row.EntireRow.Hidden = True
End Sub
上面的代码为什么执行时报“.Row”为 “无效限定符”?
忘高手解答。
第二个问题不太重要 主要是第一个
第一个的代码如下 随便写了个大概就是这个意思:
Function Test(IDNum As Range) As String
Dim a As String
a = ""
If IDNum.Value = 0 Or IDNum.Value = "" Then
Sheet1.Rows(IDNum.Row).EntireRow.Hidden = True
MsgBox (IDNum.Row)
a = "True"
Else
a = "False"
End If
Test = a
End Function
上面这个自定义函数要是放到按钮事件里就好用比如:
Private Sub CommandButton1_Click()
Test (Sheet1.Cells(5, 3))
End Sub

但是要是放到单元格里隐藏行的代码就没作用了 比如:
在A2单元格写 =Test(A1)
展开
 我来答
Q城里城外
2015-10-26 · TA获得超过4107个赞
知道小有建树答主
回答量:1077
采纳率:92%
帮助的人:129万
展开全部
  1. 第一个问题是target后面不能跟row,target直接就代表当前单元格:

  2. 将function函数放在模块中,执行正常:

zvhdd
2010-07-23 · TA获得超过666个赞
知道小有建树答主
回答量:506
采纳率:0%
帮助的人:399万
展开全部
问两个问题太抠门了呵呵。

第一个问题,因为没代码,建议检查条件。顺便在Rows前面指定Sheet。

第二个问题比较简单。Target.Row返回行号;Target.Rows才是返回Range对象。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
苏子五千秋b
2010-07-23 · TA获得超过1185个赞
知道小有建树答主
回答量:807
采纳率:0%
帮助的人:812万
展开全部
Private Sub Worksheet_Change(ByVal Target As Range)
Dim H As Integer
H = ActiveCell.Row '获得当前单元格的行号
If Target.Column = 1 And Target.Value = 0 And ActiveCell.Column = 1 Then
Rows(H - 1 & ":" & H - 1).EntireRow.Hidden = True
EndIf
End Sub
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yetolee
2010-07-23 · TA获得超过580个赞
知道小有建树答主
回答量:175
采纳率:100%
帮助的人:43.9万
展开全部
把THEN 后边的TARGET.ROW 改成TARGET.ROWS()就可以了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ebjcyp
2010-07-23 · TA获得超过2608个赞
知道小有建树答主
回答量:439
采纳率:0%
帮助的人:315万
展开全部
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim i, x
i = Target.Column
x = Target.Row
If i = 1 And x = 1 Then
Rows(x).Select
Selection.EntireRow.Hidden = True
End If
End Sub
单元格坐标没有0,选择行要用rows
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式