Office中国论坛/Access中国论坛

标题: 请教如何通过编程实现 行隐藏? [打印本页]

作者: chenwm1973    时间: 2005-6-4 03:44
标题: 请教如何通过编程实现 行隐藏?
我想请教各位:如何通过编程实现 将有单元格合并的两行 隐藏掉其中的一行??谢谢!!
作者: 红池坝    时间: 2005-6-4 22:21
自己录制一个宏,然后查看代码就知道了
作者: chenwm1973    时间: 2005-6-5 03:47
我已经试过了,实际操作获得的宏和在运行时取得的结果,是两样的。

不知还需加点什么别的代码??
作者: 红池坝    时间: 2005-6-5 19:43
我得到的代码是:Selection.EntireRow.Hidden = True经试验,加在自己的程序里能够正确运行
作者: chenwm1973    时间: 2005-6-6 00:18
前提是:第一行和第二行中存在 合并单元格 。我的代码是:    Rows("2:2").Select

    Selection.EntireRow.Hidden = True

运行结果是 将第一行也隐藏掉了。我想看 Selection 后的属性,但它没有自动显示。我也尝试用     Selection.RowHeight = 0   但结果还是相同。我如此做的目的是不想破坏表格的格式,也不大愿意重新生成新表后编程设置格式。
作者: 红池坝    时间: 2005-6-6 04:44
你的目的是什么呢?是你合并时多合并了一行,影响了表格的美观,现在要把其中一行隐藏吗?如果是这样,直接在工作表中隐藏不就行了,为什么飞要代码呢?当然你的代码是有问题的,因为你的Rows("2:2").Select其实把第一行也选中了,因为你选中了整个第2行,但其中有合并单元格,自然合并单元格中第一行是选中的,所以你在执行Selection.EntireRow.Hidden = True时自然也连第一行隐藏了。请在第二行中确定一个没有合并的单元格,假如B2Range("B2").SelectSelection.EntireRow.Hidden = True
作者: chenwm1973    时间: 2005-6-6 10:39
非常感谢!这是我设计的一个自动执行的报表格式,输入内容是固定的,但每天打印的内容有少许有规律的变化,需要将其中的一些行隐藏后打印。在录制宏时,只有点击左侧才出现行隐藏,而选择单元格没有,所以一直没有想到这一层。看来全依赖自动录制的宏还远远不够。能不能帮我推荐关于excel 编程的书。最好是心得体会之类的。再一次感谢帮我解决了问题!




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3