用VBA只打印前7个在G4vba选择单元格格中包含工作日的工作表,应该怎么写?

说到Excel,那么不可避免得要说到Excel的公式了,在日常的Excel操作中,借助各种现成的Excel函数所形成的的公式,能够让我们轻松的获得很多我们想要的数据计算结果,但是方便的同时,也带来了一些弊端。

比方说公式没有办法隐藏,一些比较关键性的数据,我们写在公式中,但是并不想让其他人看到公式,从而逆推出来我们一些关键的参数,比方说工资比例分成等。

这里你可能会说直接复制数据到另外一个表就可以了,这样虽然可以避免公式被看到,但是如果数据量过大的话,复制粘贴也是一件很耗时的事情,有没有可能在工作表中隐藏这些公式,仅仅是展示公式的结果呢?

其实也不难,看看VBA如何来实现这样的结果


这是我们今天模拟的场景,其中B列和C列都是有公式的,我们只要将鼠标放在单元格中,选中就可以看到公式了。那么我们如何隐藏这些公式呢?


从上面的动图可以看出来,我们通过VBA代码成功的实现了单元格公式的隐藏,原来选中就可以看到的单元格公式,现在已经看不到了,并且不影响单元格的计算数据,从这个结果来看,代码还是成功了。

那么VBA到底是如何来实现这个功能的呢?

之前就有关注过我的文章的小伙伴应该有印象,在之前分享VBA第三系列的时候,我们学习了如何实现工作薄的保护功能,而今天我们恰恰是用到了这个功能,这也是为什么我一直强调的事情,学好一些基础知识,能够有很大的用处

当然代码中并不是一上来就选择工作薄的保护的

首先我们需要得到当前工作薄的使用公式的区域,因为后面要隐藏公式,那么肯定要先找到这些区域了。

我们将含有公式的单元格统一赋值给变量rng

这里不好理解的话,我们可以打开Excel,按下CTRL+G,打开定位窗体


会有一个按照公式来定位,这里我们代码实现的就是这样的效果,按照公式来定位,即获取有公式的单元格

这是一个固定的写法,大家直接记住就好。找到了这些单元格之后,然后我们要取消整个工作薄中的公式隐藏,即

1.将整个工作薄的单元格公隐藏式先去掉

2.然后针对有公式的单元格执行隐藏的操作

加上注释,大家一起看着来理解下

首先为了程序的顺利,我们直接取消当前区域可能存在的隐藏单元格公式的操作,将公式可见化

然后将上面得到的rng这个区域的单元格内的公式执行隐藏操作

到这里就算完了吗?不是的,之前我们不是说还需要执行工作薄的保护嘛?

没错,上面的操作完成了,还不算结束,还需要最后一步,保护工作薄

这样才能够最终实现我们的效果。

111就是工作薄保护的密码。密码一定要牢记

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

学习Excel技术,关注微信公众号:

本文给出了一种根据单元格背景色汇总单元格数据的方法:使用VBA创建一个自定义函数来实现该目的。

我们希望这个函数工作的方式是,填充了颜色的单元格来表示额外的信息,例如代表诸如“目标已实现”或“目标未达到”等内容。单元格颜色可以表示任何字面意思。

示例数据如下图1所示。

我们的函数名为SUMCOLOR,包含两个参数,语法为:

  • 参数MatchColor,代表正在搜索的包含有颜色的单元格地址,示例中是单元格F4

  • 参数SumRange,代表想要汇总的单元格区域(有颜色或没颜色)。示例中,单元格区域是A4:C11。(注:需要定义为绝对引用,以便每个搜索颜色的SumRange保持相同。)

这样,在单元格G4中,我们的公式应该像下面:

当按下回车键后,应该看到结果为40

如果将公式向下复制到单元格G6,其结果应该如下图2所示。

打开VBE,插入一个标准模块,输入下面的代码:

欢迎在下面留言,完善本文内容,让更多的人学到更完美的知识。

欢迎到知识星球:完美Excel社群,进行技术交流和提问,获取更多电子资料。

我要回帖

更多关于 vba选择单元格 的文章

 

随机推荐