一个苦逼Excel技术直男的追女日记:520,我为你今夜不眠!
作者:E图表述来源:部落窝教育发布时间:2020-05-19 15:58:02点击:3582
编按:
520,我为你今夜不眠!这是一名苦逼Excel技术直男的追女心声!从5月12日开始,小伙子就在为520的表白冥思苦想,彻夜不眠。从害怕自己错过的倒计时设计到为她专配的告白二维码再到一颗用代码生成的红心,技术直男彻底沦陷在520的焦灼之中……
2020年5月12日星期二,512。
又快到520(5月20日)了,对你的思念越来越强烈,但是对你的爱却不是今天才有的,只是今年爆发了疫情,让我们之间有了距离,不能像以前那样的接近。可那又如何呢?起码我的心一直在你这里,无论你感觉到没有,我爱故我在。
今年不能带你去看电影了,也不能带你去唱歌了,即便带你去吃大餐,也需要保持一定的距离,那么今年的520该给你一个什么样的SURPRISE呢?我想了好久。
2020年5月13日星期三,513。
我想到了今年要给你一个什么惊喜了,现在的我没有值得炫耀的资本,唯独我对自己EXCEL办公技能还有一些自信,毕竟这是我赖以生存的技能,也是我现在唯一可以用来创造你我未来的技能,那现在就让我用它来对你表白吧。
首先我做了一个倒计时器,可以每天都提示我,520这个重要的日子还有几天到来,能够让我做好准备,我觉得一个男人一定要对自己想做的事情有规划,才能不盲目、不被动。
5月13日加6天,是5月19日。为什么要提前一天?因为我不愿意迟到。
【制法】
STEP1:在D4单元格输入函数:=TODAY();
STEP2:合并C7:G14单元格,输入函数:
=DATEDIF(D4,DATE(IF(D4
DATE(YEAR(TODAY()),5,20),YEAR(TODAY()),YEAR(TODAY())+1),5,20),"d")-1&"天"
接着调整字号和颜色,将其居中显示。
函数意义:如果D4的日期小于今年的5月20日,则用DATEDIF函数判断今天日期到5月20日相差的天数,否则判断距离下一年的5月20日相差的天数。
2020年5月14日星期四,514。
还有5天,我还能做什么,虽然心里一直筹划着那天如何和你过520。但是工作的压力依然不肯放过我,该做的还是要做,主业不可松懈,这也应该是我该负起的责任,不好好工作怎么能养家。
可是我还是忙里偷闲的默默写下一句话:
【制法】
STEP1:在A1单元格输入一句话“520,想你了,相识于你是缘分,希望我的真诚,能够打动你❤ ”,这个桃心使用搜狗输入法,输入心字拼音,就可以得到图形;
STEP2:在D1单元格输入函数=IF(ROW()<=LEN($A$1),ROW(),""),下拉函数,表示如果行号大于句子的长度,那么就返回空值;
STEP3:在E1单元格输入函数=IF(D1="","",LEFT($A$1,D1)),下拉函数,表示按照行号提取A1单元格中字符的个数,逐行多一个字符,就形成了一个像树状的三角形;
STEP4:插入一个圆角矩形,设置渐变色和每一个色块的透明度,用这个圆角矩形作为一个蒙板使用。
2020年5月15日星期五,515。
今天是周五,我选择今天去买巧克力,也预定了一个餐厅。虽然我在用我的专业技能,对你表白,但是生活还是需要物质的,需要有仪式感,我希望不管是在精神上还是物质上,都能满足你。
除了给你买的礼物,我还给你也做了一个“二维码”,用微信扫一扫,就是我想对你说的话了。
希望我给你的礼物你都能接受。
【制法】
STEP1:在功能区域的“开发工具”中,插入控件BarCode Control 16.0;
STEP2:鼠标右键单击插入的控件,选择“Microsoft BarCode Control 16.0 对象”-“属性”;
STEP3:在弹出的窗口中,点击“样式”的下拉菜单,选择“11-QR Code”样式,再点确定按钮;
STEP4:在A1单元格输入I love you;
STEP5:鼠标右键单击控件,在功能区域“开发工具”中,选择“属性”功能,弹出属性菜单,在LinkedCell属性中,输入A1,完成二维码制作。
2020年5月16日星期六,516。
我一直在想着还有什么方法能表达我的心意,所以今天趁你不在,在你的EXCEL上打开了“开发工具”,并且调整了宏安全性。
是的,我又要用VBA了,也许这就是我和其他职场人不一样的地方吧。当然我就是我,区别于其他人,我爱你的方式和程度也不一样。
2020年5月17日星期日,517。
今天我写了一段VBA代码,你按一下按钮,就会给你我的心。
【制法】
STEP1:选择A:CW区域,设置列宽为2,为2的列宽和默认的行高基本一致,单元格近似一个小正方形,作为像素块备用;
STEP2:按ALT+F11组合键,打开VBE界面,插入一个模块,输入下面的代码:
Sub 桃心()
For i = -5 To 5 Step 0.1
k = k + 1
For j = 5 To -5 Step -0.1
l = l + 1
If 17 * i ^ 2 - 16 * Abs(i) * j + 17 * j ^ 2 - 225 <= -9 Then
Cells(l, k).Interior.ColorIndex = xlNone
Cells(l, k).Interior.ColorIndex = 3
End If
Next j
l = 0
Next i
End Sub
代码解析:
Line1:循环变量i,循环范围为-5到5,步长为0.1;
Line2:利用计数器原理,给变量k赋值,作为“行号”使用;
Line3:循环变量j,循环范围为5到-5,步长为0.1;
Line4:利用计数器原理,给变量l赋值,作为“列号”使用;
Line5:这是一个心形函数表达式,如果表达式的值满足小于等于-9的条件时;
Line6:此时k、l值组成的行列号,形成的单元格填充色的色号(.Interior.ColorIndex)为“无颜色xlNone”,再填充为“红色3”;
Line7:判断语句结束语句;
Line8:循环变量j的结束语句;
Line9:重新定义l为0,准备进行下一个i变量的循环继续得到对应的列号;
Line10:循环变量i的结束语句。
STEP3:用插入图形的方法,做一个蒙板,将图形的填充和线条都设置为“无”。插入一个文本框,输入“520”,将其边框设置为“无颜色”,字体为“白色、60%透明”。
STEP4:在“开发工具”下的“插入”下拉菜单中,选择“按钮”控件,指定宏为“桃心”,完成制作。
2020年5月18日星期一,518。
今天我用VBA代码和图表 ,结合一个函数,让我们的心一起跳动,越来越近……
【制法】
SETP1:确定两个桃心的坐标,分别为大桃心的x1和y1,小桃心的x2和y2;
STEP2:在A4单元格输入-1.82,在A5单元格输入-1.8,然后选中A4:A5单元格区域,下拉填充柄,直到数值变为1.82为止,也就是A186单元格为止;
STEP3:在B4单元格输入心形函数:=POWER(A4^2,1/3)+0.9*SQRT(ABS(3.3-A4^2))*SIN($B$2*PI()*A4),这里需要注意的是,SQPT是开平方函数,所以在使用SIN函数时,必须将数值乘以PI(π值3.14)转换成弧度,双击填充柄,填充函数;这一点我们在之前用三角函数制图的文章中提到过,可以点击文章《奇思妙想:用excel“三角函数”制作超漂亮的环形气泡图!》复习一下。
STEP4:在C4单元格输入函数=(A4+2)/2,将小桃心的x轴坐标以大桃心为基准偏移并缩小;
STEP5:在D4单元格输入函数=B4/2,以大桃心的y轴坐标为基准缩小;
STEP6:选择A4:B186单元格区域,插入图表“带平滑线和数据标记的散点图”,设置图形格式;
STEP7:选中图表区,单击鼠标右键,在弹出的菜单中点击“选择数据”。点击“添加”按钮,选择“编辑”,按下图添加数据区域;
STEP8:ALT+F11组合键,打开VBE界面,输入如下代码:
Public pp As Boolean
Sub 情人节()
pp = Not (pp)
For i = 0 To 1000 * 4
If pp = False Then
Exit Sub
Else
DoEvents
[B2] = i / 5 / 4
If i Mod 1 = 0 Then
DoEvents
End If
End If
Next i
End Sub
代码比较简单,主要是对B2单元格的赋值操作。
DoEvents是“转让控制权”的作用语句,便于用按钮随时操作“开始和停止”。
STEP9:再做一个蒙板,排版整体图表的配色,完成制作。
2020年5月19日星期一,519。
今天什么也不做了,只是等待变得更加煎熬,倒计时的天数已经归零,很紧张。不知道你会不会接受我呢?忐忑就是 “心,上上下下”。希望明天快点到来,又怕自己没有准备好。做最好的准备,做最坏的打算,无论结果如何,如果还有机会,我都会对你一如既往。
【没有结束的结束语】
上面所有的蓝色字,你可以连起来看一下,是我做人和爱你的品质;
上面所有的日记体,是我为了这次的表白所付出的努力;
上面所有的【制法】,是我现在创造未来的技能总结,你可以不看,因为有我。
5月20日,520“我爱你”,我的计时器此时又是一个新的365天。
曾经,我为《西雅图夜未眠》 而感动;今夜,请为我,请为所有的“520,我为你今夜不眠”的技术直男多停留那么一会儿……
本文配套的练习课件请加入QQ群:1043683754下载。
做Excel高手,快速提升工作效率,部落窝教育《一周Excel直通车》视频和《Excel极速贯通班》直播课全心为你!
扫下方二维码关注公众号,可随时随地学习Excel:
相关推荐:
VBA基础教程②《VBA系列基础教程(二):使用RANGE对象实现单元格偏移及确定首末行列号》
VBA基础教程①《VBA系列基础教程(一):excel中最常使用的对象——RANGE》
用VBA制作疫情地图《用excel制作全国动态疫情地图(VBA篇)》
用VBA使excel自杀《灵异事件!一打开工作簿,文件就“自杀”了???》