|
1 | 1 | # Excel 有哪些可能需要熟练掌握而很多人不会的技能? |
2 | 2 | ## 作者: 呆萌青年杨二傻 赞同: 307 |
3 | | -上个视频: |
| 3 | +上个视频: |
4 | 4 |
|
5 | 5 | __ |
| 6 | +1C88-FC1F67243FEF) _ _ |
7 | 7 |
|
8 | | -Excel虚拟钟表 |
| 8 | +Excel 虚拟钟表 |
9 | 9 |
|
10 | 10 | http://v.youku.com/v_show/id_XNjcyMjc3NTQ4.html |
11 | 11 |
|
12 | | - |
13 | | -撸了一天VBA……实在是按耐不住啊……开机来回答 |
14 | | -[@未央之末](http://www.zhihu.com/people/b29d7985efa61866fdf25da24f65b736) |
15 | | -的回答很赞……完全勾起了我的回忆………… |
16 | | -最开始的时候用Excel完全是当做Word那种用法……偶尔敲个公式还局限于四则运算 |
17 | | -上班之后需求就多了,身边有一位大神,用Excel把试验所有的计算都写成了板子,造福人类 |
18 | | -亲眼目睹之后我深深的表示震惊… |
19 | | -==================以上背景================= |
20 | | -未央之末的回答已经很完美了,平时注意排版,注意数据维护 |
21 | | -我再说说其他的几个方面的 |
22 | | - |
23 | | -**定义名称:** |
24 | | -在公式引用的时候A1法是最常引用的,形如: |
25 | | - |
26 | | - |
27 | | - |
28 | | -=sum(A1:A10) |
29 | | - |
30 | | - |
31 | | - |
32 | | -公式下拉的时候某些变量不用更改相对索引,但是Excel会自动的更改相对索引,这时候使用F4可以固定维度 |
33 | | - |
34 | | - |
35 | | - |
36 | | -=$A$2+B2 |
37 | | - |
38 | | - |
39 | | -这样即使下拉,也只有B2会变化。PS:连续按F4会切换锁定的维度 |
40 | | -还有一种更便捷的方法就是定义变量 |
41 | | -在单元格上右键选择自定义名称,如图: |
42 | | - |
43 | | -Excel会智能的识别出目标单元格的名称,当然,如果冲突还需要更改,可以写入备注 |
44 | | - |
45 | | -当你自定义名称之后,再次引用这个单元格的时候只需要输入名称就可以了,在你输入名称的时候你所添加的备注也会实时出现,甚至没有拼写完你都可以使用Tab |
46 | | -自动补齐: |
47 | | - |
48 | | -数组也可以定义为名称,感觉应该和Range对象一样 |
49 | | -VBA有时需要引用表格内容,不论是A1法还是用Cells |
50 | | -引用,一旦单元格出现增删行列,VBA引用的目标就会发生变化。这使得后期维护难度增大,使用名称可以避免这个问题,增删行列的时候Excel会自动更改。 |
51 | | -需要注意的是在VBA中使用名称需要用中括号括起来。这时候自定义名称相当于一个全局变量(真正地全局……对整个workbook |
52 | | -全局),可以引用,甚至可以赋值,对比之下A1法和Cells则相当不美观也不利于阅读。 |
53 | | -随手拷贝了几行,一个简单的例子。[PowerLevel]和[BULevel]是数组,你们感受一下: |
54 | | - |
55 | | - |
56 | | - |
57 | | -RowNum=WorksheetFunction.Match(P,[PowerLevel],-1)+4 |
58 | | -ColumnNum=WorksheetFunction.Match([BU],[BULevel],1)+2 |
59 | | -[KME]=PthAvg(T,Dt) |
60 | | - |
61 | | - |
62 | | -我定义的名称,你们感受一下: |
63 | | - |
64 | | -**函数以及自定义函数:** |
65 | | -Excel的函数真的很牛x,第一的答案写的很详尽了,不表。输入的时候即时提醒做的很赞~ |
66 | | -有时候需要一些特定的计算,如果全部用公式的话略显繁琐,并且公式会很长很长很长很长…… |
67 | | -我曾经就写过很长很长很长很长很长的公式…(插一句,Excel公式输入的地方是可以拉来的,结合Alt+Enter |
68 | | -可以实现换行和缩进等等,我来上个图……) |
69 | | - |
70 | | -自定义函数方便维护,花样繁多,玩大的还可以去直接导入其他语言开发的库 |
71 | | -直接上列子…… |
72 | | - |
73 | | - |
74 | | - |
75 | | -FunctionRho(P1AsDouble,P0AsDouble)AsDouble |
76 | | -'根据功率变化计算反应性 |
77 | | -Rho=[beta_eff]/[lambda]/60*Log(P1/P0) |
78 | | -EndFunction |
79 | | - |
80 | | - |
81 | | - |
82 | | -然后你就可以愉快的使用了 |
83 | | - |
84 | | -唯一的遗憾是无法在Excel界面中即时提示……在VBE里面可以即时提示……顺便打车求解决方法……好像说注册DLL欺骗Excel |
85 | | -可以做到……求少折腾的方法 |
86 | | - |
87 | | - |
88 | | -**VBA:** |
89 | | -VBA我就不多说了,能干的事情太多了,虽然速度有点慢,但是合理的优化,关闭刷新,处理日常的工作还是可以的。 |
90 | | -不会写代码刚开始学可以直接录,录完了好好读一读,删掉无用的就好。经常看看自带的帮助文档,干货很多。不会了就慢慢地google,百度…… |
91 | | - |
92 | | -**界面:** |
93 | | -严格说起来界面应该属于VBA,这部分和VB类似,不过貌似不支持控件数组,当然旁门左道也能实现控件数组。在Workbook_Open事件里面写上: |
94 | | - |
95 | | - |
96 | | - |
97 | | -Application.Visible=False |
98 | | -xxx窗体.show |
99 | | - |
100 | | - |
101 | | -让Excel伪装成一个程序……完全看不到Excel的界面~ |
102 | | -PS:请不要看不起我们这些拖控件的…… |
103 | | - |
104 | | -**引用与库函数:** |
105 | | -这里的引用特质VBA的工程引用,这时候可以绑定一些封装好的库文件,个人偏爱MatrixVB,最早是我用来增强VB的运算的,后来玩Excel |
106 | | -发现也能在VBA里跑,不过参考文档很屎,老古董了。 |
107 | | -大型计算忍不了VBA的渣速度的也可以用其他语言做库然后让Excel来用,不过我用的不是很好,尝试过用FORTRAN写,只局限于实验阶段…… |
108 | | - |
109 | | -**自定义界面:** |
110 | | -如果自己用,直接在选项里面添加就可以了,如果是给别人用,可以做成含有Ribbon界面的加载项,一般后缀是xla和xlam。 |
111 | | -Ribbon可以指定快捷键,指定ScreenTip和SuperTip,XML语言就好,喜欢折腾的不要错过。 |
112 | | -半途而废的东西:在Excel中打开其他软件……用的是 |
113 | | -Shell……做不下去了,因为完全没需求,从来都单手盲开任何常用软件网站……要问我为何这么屌,因为我有AutoHotKey呀 |
114 | | - |
115 | | -还有高大上的就不跟你们秀了………… |
116 | | - |
117 | | -**其他:** |
118 | | -下面这些东西就有点奇葩了,**FileDialog,Shell,API** |
119 | | -这就属于瞎折腾了,不表~ |
120 | | - |
121 | | -另外两个: |
| 12 | + |
| 13 | +撸了一天 VBA……实在是按耐不住啊……开机来回答 |
| 14 | +[ @未央之末 ](http://www.zhihu.com/people/b29d7985efa61866fdf25da24f65b736) |
| 15 | +的回答很赞……完全勾起了我的回忆………… |
| 16 | +最开始的时候用 Excel 完全是当做 Word 那种用法……偶尔敲个公式还局限于四则运算 |
| 17 | +上班之后需求就多了,身边有一位大神,用 Excel 把试验所有的计算都写成了板子,造福人类 |
| 18 | +亲眼目睹之后我深深的表示震惊… |
| 19 | +==================以上背景================= |
| 20 | +未央之末的回答已经很完美了,平时注意排版,注意数据维护 |
| 21 | +我再说说其他的几个方面的 |
| 22 | + |
| 23 | +**定义名称:** |
| 24 | +在公式引用的时候 A1 法是最常引用的,形如: |
| 25 | + |
| 26 | + |
| 27 | + |
| 28 | + =sum(A1:A10) |
| 29 | + |
| 30 | + |
| 31 | + |
| 32 | +公式下拉的时候某些变量不用更改相对索引,但是 Excel 会自动的更改相对索引,这时候使用 F4 可以固定维度 |
| 33 | + |
| 34 | + |
| 35 | + |
| 36 | + =$A$2+B2 |
| 37 | + |
| 38 | + |
| 39 | +这样即使下拉,也只有B2会变化。PS:连续按 F4 会切换锁定的维度 |
| 40 | +还有一种更便捷的方法就是定义变量 |
| 41 | +在单元格上右键选择自定义名称,如图: |
| 42 | + |
| 43 | +Excel 会智能的识别出目标单元格的名称,当然,如果冲突还需要更改,可以写入备注 |
| 44 | + |
| 45 | +当你自定义名称之后,再次引用这个单元格的时候只需要输入名称就可以了,在你输入名称的时候你所添加的备注也会实时出现,甚至没有拼写完你都可以使用 Tab |
| 46 | +自动补齐: |
| 47 | + |
| 48 | +数组也可以定义为名称,感觉应该和 Range 对象一样 |
| 49 | +VBA 有时需要引用表格内容,不论是 A1 法还是用 Cells |
| 50 | +引用,一旦单元格出现增删行列,VBA引用的目标就会发生变化。这使得后期维护难度增大,使用名称可以避免这个问题,增删行列的时候 Excel 会自动更改。 |
| 51 | +需要注意的是在VBA中使用名称需要用中括号括起来。这时候自定义名称相当于一个全局变量(真正地全局……对整个 workbook |
| 52 | +全局),可以引用,甚至可以赋值,对比之下 A1 法和 Cells 则相当不美观也不利于阅读。 |
| 53 | +随手拷贝了几行,一个简单的例子。[PowerLevel] 和 [BULevel] 是数组,你们感受一下: |
| 54 | + |
| 55 | + |
| 56 | + |
| 57 | + RowNum = WorksheetFunction.Match(P, [PowerLevel], -1) + 4 |
| 58 | + ColumnNum = WorksheetFunction.Match([BU], [BULevel], 1) + 2 |
| 59 | + [KME] = PthAvg(T,Dt) |
| 60 | + |
| 61 | + |
| 62 | +我定义的名称,你们感受一下: |
| 63 | + |
| 64 | +**函数以及自定义函数:** |
| 65 | +Excel 的函数真的很牛x,第一的答案写的很详尽了,不表。输入的时候即时提醒做的很赞~ |
| 66 | +有时候需要一些特定的计算,如果全部用公式的话略显繁琐,并且公式会很长很长很长很长…… |
| 67 | +我曾经就写过很长很长很长很长很长的公式…(插一句,Excel 公式输入的地方是可以拉来的,结合 Alt + Enter |
| 68 | +可以实现换行和缩进等等,我来上个图……) |
| 69 | + |
| 70 | +自定义函数方便维护,花样繁多,玩大的还可以去直接导入其他语言开发的库 |
| 71 | +直接上列子…… |
| 72 | + |
| 73 | + |
| 74 | + |
| 75 | + Function Rho(P1 As Double, P0 As Double) As Double |
| 76 | + '根据功率变化计算反应性 |
| 77 | + Rho = [beta_eff] / [lambda] / 60 * Log(P1 / P0) |
| 78 | + End Function |
| 79 | + |
| 80 | + |
| 81 | + |
| 82 | +然后你就可以愉快的使用了 |
| 83 | + |
| 84 | +唯一的遗憾是无法在 Excel 界面中即时提示……在 VBE 里面可以即时提示……顺便打车求解决方法……好像说注册 DLL 欺骗 Excel |
| 85 | +可以做到……求少折腾的方法 |
| 86 | + |
| 87 | + |
| 88 | +**VBA:** |
| 89 | +VBA我就不多说了,能干的事情太多了,虽然速度有点慢,但是合理的优化,关闭刷新,处理日常的工作还是可以的。 |
| 90 | +不会写代码刚开始学可以直接录,录完了好好读一读,删掉无用的就好。经常看看自带的帮助文档,干货很多。不会了就慢慢地 google,百度…… |
| 91 | + |
| 92 | +**界面:** |
| 93 | +严格说起来界面应该属于 VBA,这部分和 VB 类似,不过貌似不支持控件数组,当然旁门左道也能实现控件数组。在 Workbook_Open 事件里面写上: |
| 94 | + |
| 95 | + |
| 96 | + |
| 97 | + Application.Visible = False |
| 98 | + xxx窗体.show |
| 99 | + |
| 100 | + |
| 101 | +让 Excel 伪装成一个程序……完全看不到 Excel 的界面~ |
| 102 | +PS:请不要看不起我们这些拖控件的…… |
| 103 | + |
| 104 | +**引用与库函数:** |
| 105 | +这里的引用特质 VBA 的工程引用,这时候可以绑定一些封装好的库文件,个人偏爱 MatrixVB,最早是我用来增强 VB 的运算的,后来玩 Excel |
| 106 | +发现也能在 VBA 里跑,不过参考文档很屎,老古董了。 |
| 107 | +大型计算忍不了 VBA 的渣速度的也可以用其他语言做库然后让Excel来用,不过我用的不是很好,尝试过用 FORTRAN 写,只局限于实验阶段…… |
| 108 | + |
| 109 | +**自定义界面:** |
| 110 | +如果自己用,直接在选项里面添加就可以了,如果是给别人用,可以做成含有 Ribbon 界面的加载项,一般后缀是 xla 和 xlam。 |
| 111 | +Ribbon 可以指定快捷键,指定 Screen Tip 和 Super Tip,XML 语言就好,喜欢折腾的不要错过。 |
| 112 | +半途而废的东西:在 Excel 中打开其他软件……用的是 |
| 113 | +Shell……做不下去了,因为完全没需求,从来都单手盲开任何常用软件网站……要问我为何这么屌,因为我有 AutoHotKey 呀 |
| 114 | + |
| 115 | +还有高大上的就不跟你们秀了………… |
| 116 | + |
| 117 | +**其他:** |
| 118 | +下面这些东西就有点奇葩了, **FileDialog ,Shell,API** |
| 119 | +这就属于瞎折腾了,不表~ |
| 120 | + |
| 121 | +另外两个: |
122 | 122 |
|
123 | 123 | __ |
| 124 | +0C97-83E30F166644) _ _ |
125 | 125 |
|
126 | | -Excel绘制李萨茹图 |
| 126 | +Excel 绘制 李萨茹图 |
127 | 127 |
|
128 | 128 | http://v.youku.com/v_show/id_XNjcyMjc1Mzk2.html |
129 | 129 |
|
130 | 130 | __ |
| 131 | +7183730CC525) _ _ |
132 | 132 |
|
133 | | -Excel随机游动小球 |
| 133 | +Excel 随机游动小球 |
134 | 134 |
|
135 | 135 | http://v.youku.com/v_show/id_XNjcyMjc4NjU2.html |
136 | 136 |
|
|
0 commit comments