怎么用Get.Cell宏表函数获取单元格内的字体格式信息
作者:E图表述来源:部落窝教育发布时间:2021-05-18 11:06:21点击:2363
编按:
在日常EXCEL工作中,EXCEL宏表函数是常常被忽略的存在,但是如果你一直和EXCEL打交道,那么你一定有一天需要用到它!当你一切手段都解决不了问题的时候,EXCEL宏表函数或许是你最后的希望。它比VBA简单,比大多数函数都简单。比如,只需要掌握Get.Cell函数技巧,就能轻松实现各种单元格信息的获取……
这是前不久一个网友问笔者的一道题,说实话,当时确实也把笔者难住了,但在查阅一些资料后还是得到了圆满的解答。不敢藏私,拿出来和大家分享一下,也能够让大家都GET到一点新知识。虽不至九塔浮屠,犹胜在赠花留香。
她的问题是这样的,如下图:
问题描述:
A列是字段,其中字体的格式中有“加粗”、“下划线”、“斜体”,而且三种格式有“混用”情况;B列是对应的数值。现在要求分别计算出这些字体对应数值的合计值,如果是混用的字体则可以重复计算数值。
问题分析:
其实从题意来说还是比较好理解的,大家是要判断A列的字体是否为加粗、斜体、下划线,如果是就可以使用SUMIF函数来处理。其中的难点是如何判断,相信大家此时是无从下手的。
笔者初看此题的第一反应就是使用VBA来判断,简写如下:
Sub 判断字体()
If Worksheets("sheet1").Range("A1").Font.Bold = True Then
a = "加粗 "
Else
a = ""
End If
If Worksheets("sheet1").Range("A1").Font.Italic = True Then
b = "斜体 "
Else
b = ""
End If
If Worksheets("sheet1").Range("A1").Font.Underline > 0 Then
c = "下划线 "
Else
c = ""
End If
MsgBox a & b & c
End Sub
但是许多小伙伴说,VBA不好掌握,有没有函数的方法呢?
宏表函数解题:
答案是肯定的,大家可以使用宏表函数来做此题。
STEP1:
使用CTRL+F3快捷键,打开名称管理器。
按“新建”按钮,在名称处输入“加粗”,在引用位置输入内容“=Get.Cell(20,Sheet1!$A2)”,然后用鼠标点击确定。
STEP2:
按照下面的方法,再建立两个名称,分别为“斜体”和“下划线”。
STEP3:
设置完名称,回到工作表中,在C2单元格输入“=加粗”,把鼠标放在单元格右下角的小黑点上,按住鼠标左键,下拉至末行填充。
↑↑↑ 笔者为了便于同学们观看,加了条件格式
同理,在D2单元格输入“=斜体”,然后下拉至末行填充。;在E2单元格输入“=下划线”,同样下拉至末行。至此大家就得到了对于A列字体的“判断辅助列”,如下图:
STEP4:
接下来的数值统计,对于许多小伙伴来说应该都不是难事了。
在H4单元格输入函数:=SUMIF(C2:C15,TRUE,B2:B15)
在H5单元格输入函数:=SUMIF(D2:D15,TRUE,B2:B15)
在H6单元格输入函数:=SUMIF(E2:E15,TRUE,B2:B15)
STEP5:
虽然得到了最后的结果,但是还有不得不说的话,因为大家使用的是“宏表函数”,所以当保存这个工作薄的时候,EXCEL会提示大家:
不要犹豫,点“否”!!!
用鼠标点击“否”以后会弹出“另存为”窗口,将文件保存为“启用宏的工作薄”,即后缀为.XLSM的文件格式。这样才能保存此次的宏表函数(或者VBA代码),下次打开的时候才可以使用,切记,切记!!
【编后语】
对于宏表函数来说,还有很多好用的功能,比如说按“单元格填充颜色汇总数值”,笔者之前也介绍过用宏表函数“打印设置信息”、“批量制作分表”的功能。而且它的功能更方便,确实要比VBA代码简单很多。
虽然用了函数解决,但是依然还是离不开“宏”的概念,宏永远是EXCEL不可分割的一部分,所以真心建议大家有时间还是接触一下这些内容,如果你的工作离不开EXCEL,早晚你会遇到用“宏”才能解决的问题。
本文配套的练习课件请加入QQ群:902294808下载。
做Excel高手,快速提升工作效率,部落窝教育《一周Excel直通车》视频和《Excel极速贯通班》直播课全心为你!
扫下方二维码关注公众号,可随时随地学习Excel:
相关推荐:
用GET.WORKBOOK函数实现excel批量生成带超链接目录且自动更新
excel代码生成方式视频:录制宏或vba编码拆分表格到工作薄
excel宏的录制应用视频:调用开发工具录制筛选操作添加宏运行按钮
版权申明:
本文作者E图表述;同时部落窝教育享有专有使用权。若需转载请联系部落窝教育。