Format函数在VBA中用法

Format函数在VBA中用法
Format函数在VBA中用法

VB 中Format 格式化显示功能详解

VB 格式化日期时间:MsgBox Format$(Now, "c") '2006-5-25 14:56:05

Format[$] (expr[,fmt])

format 返回变体型

format$ 强制返回为文本

--------------------------------

数字类型的格式化

--------------------------------

固定格式参数:

General Number 普通数字,如可以用来去掉千位分隔号

format$("100,123.12","General Number") 返回值100123.12

Currency 货币类型,可添加千位分隔号和货币符号

format$("100123.12","Currency") 返回值¥100,123.12

Fixed 格式为带两位小数的数字

format$("100123","Fixed") 返回值100123.00

Standard 标准,即带千位分隔号和两位小数

format$("100123","Standard") 返回值100,123.00

Percent 百分数

format$("100123","Percent") 返回值10012300.00%

Scientific 科学记数法

format$("100123","Scientific") 返回值1.00E+05

Yes/No 当值为0时返回NO,否则返回YES

format$("100123","Yes/No") 返回值Yes

True/False 当值为0时返回False,否则返回True

format$("100123","True/False") 返回值True

On/Off 当值为0时返回Off,否则返回On

format$("100123","On/Off") 返回值On

自定义格式参数

"" 不进行格式化返回值原值

0 占位格式化,不足补0

format$("100123","0000000") 返回值0100123

# 占位格式化,不足时不补0

format$("100123","#######") 返回值100123

. 强制显示小数点

format$("100123.12",".000") 返回值100123.120

% 转化为百分数,一个%代表乘以100

format$("10.23","0.00%") 返回值1023.00%

format$("10.23","0.00%%") 返回值102300.00%%

, 以千为单位格化

format$("10.23",",") 返回值0

format$("10010.23",",") 返回值10

format$("10010.23",",0.00") 返回值10.01

E- E+ e- e+ 显示为科学记数(要注意格式语句,否则会和E的其它含义相混)

Format$(12.5,"0.00E+00") 返回值1.25E+01

$ 强制显示货币符号

format$("10.23","{threadcontent}.00") 返回值¥10.23

- + ( ) space 按位置显示本样

Format$("1234.56","-(0.00)") 返回值-(1234.56)

\ 转义符,显示出特殊符号

Format$("1234.56","\#.00") 返回值#1234.56

"ABC" 显示双引号(" ") 之内的字符串。如在代码中想在format 中包含一个字符串,必须用Chr(34) 将文本括起来(34 为双引号("))

Format$(123.45,"TTT") 返回值TTT

注:当双引号中的文本包含特殊的参数符号如e,要使用转义符"\",否则会按e的作用显示; 类似多目运算符的作用。

当共有四部分时,

当大于0时,按第一部分进行格式化,

当小于0时按第二部分进行格式化,

当等于0时按第三部分进行格式化,

当为null值时,按第四部分进行格式化。如:

Format$(0,"0.00;负数;零;空") 返回值零

当共有三部分时,

当大于0时,按第一部分进行格式化,

当小于0时按第二部分进行格式化,

当等于0时按第三部分进行格式化,如:

Format$(-10,"0.00;ttt;零") 返回值ttt

当共有两部分时,

当大于或等于0时,按第一部分进行格式化,

当小于0时按第二部分进行格式化,

Format$(-123,"0.00;abc") 返回值abc

Format$(123,"0.00;abc") 返回值123.00

当共有一部分时,按分号左边进行格式化

---------------------------------

日期类型的格式化

---------------------------------

注意:在中文操作系统中,系统自动将月份输为如:五月,而非May

固定格式参数

General Date 基本类型

Format$(Now,"General Date") 返回值2006-5-25 14:56:15

Long Date 操作系统定义的长日期

Format$(Now,"Long Date") 返回值2006年5月25日

Medium Date 中日期(yy/mmm/dd)

Format$(Now,"Medium Date") 返回值06-5月-25

Short Date 操作系统定义的短日期

Format$(Now,"Short Date") 返回值2006-5-25

Long Time 操作系统定义的长时间

Format$(Now,"Long Time") 返回值15:06:36

Medium Time 带AM/PM的12小时制,不带秒

Format$(Now,"Medium Time") 返回值03:08 PM

Short Time 24时制的时间,不带秒

Format$(Now,"Short Time") 返回值15:08

自定义格式参数

: 用来标识时间字符的间隔

Format$(Time(),"hh:nn") 返回值15:25

/ 用来标识日期字符的间隔

Format$(now,"yyyy/mm/dd") 返回值2006-05-25

c 格式化为国标的日期和时间

Format$(Now,"c") 返回值2006-5-25 14:56:15

y 一年中的第几天

Format$(Now,"y") 返回值145

d 一个月中的第几天(1-366)

Format$(Now,"d") 返回值25

dd 当小于10时前面带0的天数(01-31)Format$("2006-1-7","dd") 返回值07

ddd 周几

Format$(Now,"ddd") 返回值周四

dddd 星期几

Format$(Now,"dddd") 返回值星期四

ddddd 显示标准日期

Format$(Now,"ddddd") 返回值2006-05-25

dddddd 长日期

Format$(Now,"dddddd") 返回值2006年5月25日

w 一个星期中的第几天

Format$(Now,"w") 返回值5

ww 一年中的第几周

Format$(Now,"ww") 返回值21

m 月数(注:当用于时间时,也可以表时为分钟)

Format$(Now,"m") 返回值5

Format$(Now,"h:m") 返回值16:11

mm 当小于10时前面带0的月数(注:当用于时间时,也可以表时为带0的分钟) Format$(Now,"m") 返回值05

Format$(Now,"hh:mm") 返回值16:09

mmm 月份

Format$(Now,"mmm") 返回值五月

q 一年中的第几季(1-4)

Format$(Now,"q") 返回值2

yy 两位数的年份(00-99)

Format$(Now,"yy") 返回值06

yyyy 四位数的年份(0100-9999)

Format$(Now,"yyyy") 返回值2006

h 一天中的第N小时(0-23)

Format$(Now,"h") 返回值16

hh 当小于10时带0的小时数(00-23)

Format$("7:30:28","hh") 返回值07

n 一小时的分钟数(0-59)

Format$("7:30:28","n") 返回值30

nn 当小于10时带0的分钟数(00-59)

Format$("7:3:28","n") 返回值03

s 一分钟中的秒数(0-59)

Format$("7:30:8","s") 返回值8

ss 当小于10时带0的分钟数(00-59)

Format$("7:3:8","ss") 返回值08

ttttt 标准时间,小时数当小于10时不带0,与h:mm:ss相同

Format$("7:3:28","ttttt") 返回值7:03:28

AM/PM 显示当前为AM或为PM

Format$(Now,"AM/PM") 返回值PM

A/P 显示当前为A或为P

Format$(Now,"A/P") 返回值P

AMPM 对0至2359的数值进行判断是AM还是PM,可以看作是同等于对00:00至23:59的数字进行判断,如1000可以看作是10:00。

Format$(1000,"AMPM") 返回值AM

联合格式化

m/d/yy Format$(Now,"m/d/yy") 返回值5-25-06

d-mmm-yy Format$(Now,"d-mmm-yy") 返回值25-5月-06

d-mmmm Format$(Now,"d-mmmm") 返回值25-五月

mmmm-yy Format$(Now,"mmmm-yy") 返回值五月-06

hh:mm AM/PM Format$(Now,"hh:mm AM/PM") 返回值04:50 PM

h:mm:ss a/p Format$(Now,"h:mm:ss a/p") 返回值4:51:38 p

h:mm Format$(Now,"h:mm") 返回值16:51

h:mm:ss Format$(Now,"h:mm:ss") 返回值16:51:38

m/d/yy h:mm Format$(Now,"m/d/yy h:mm") 返回值5-25-06 16:54

----------------------------------

文本类型的格式化

----------------------------------

; 当两部分时,则第一部分为非空格式化,第二部分为null值或空值的格式化表达式

@ 匹配位置插入格式化文本,占位位置不存在时,显示空白(空字符串)

只有一个@符号时,是在最后面加上格式化文本

Format$("CHIN","@a") 返回值CHINa

有多个@占位符,是按从右至左匹配,并在相应的位置上显示格式化文本

Format$("CHIN","@a@@") 返回值CHaIN

当与! 配合时,则变为从左至右匹配

Format$("CHIN","!@a@@") 返回值CaHIN

当占位符比原文本字符串多时,刚在相应位置上添加空格

Format$("C","@@a@") 返回值空白空白aC

& 字符占位符。除在当占位位置不存在时,不显示外,其余均与@相同

当占位符比原文本字符串多时,刚在相应位置上添加空格

Format$("C","&&a&") 返回值aC

< 强制小写。将所有字符以小写格式显示。

Format$("I love you","<") 返回值i love you

> 强制大写。将所有字符以大写格式显示。

Format$("I love you",">") 返回值I LOVE YOU

! 强制由左而右填充字符占位符。缺省值是由右而左填充字符占位符。Format$("CHIN","!@a@@") 返回值CaHIN

----------------------------------------

强制使用中文格式的日期时间

----------------------------------------

aaaa 星期

Format$(Now,"aaaa") 返回值星期五

O 中文月份

Format$(Now,"O") 返回值五月

o 单字节月份

Format$(Now,"o") 返回值5月

A 中文日期

Format$(Now,"A") 返回值二十六日

a 单字节日期

Format$(Now,"a") 返回值26日

E 短中文年份

Format$(Now,"E") 返回值六年

e 单单字节年份

Format$(Now,"e") 返回值6年

EE 中文年份

Format$(Now,"EE") 返回值二○○六年

ee 单字节年份

Format$(Now,"ee") 返回值2006年

想不到中文日期的问题就这么容易解决:

Format$(Now,"EEOA") 返回值二○○六年五月二十六日

Proe中的常用函数关系

Proe中的部分函数关系 一、函数关系 sin 正弦Cos 余弦tan 正切asin 反正弦acos 反余弦atan 反正切sinh 双曲线余弦cosh 双曲线正弦tanh 双曲线正切spar 平方根exp e的幂方根abs 绝对值log 以10为底的对数ln 自然对数 ceil 不小于其值的最小整数floor 不超过其值的最大整数 二、齿轮公式 alpha=20 m=2 z=30 c=0.25 ha=1 db=m*z*cos(alpha) r=(db/2)/cos(t*50) theta=(180/pi)*tan(t*50)-t*50 z=0 三、蜗杆的公式da=8为蜗杆外径m=0.8 为模数angle=20压力角 L=30长度q直径系数d分度圆直径f齿根圆直径n实数

其中之间的关系 q=da/m-2 d=q*m df=(q-2.4)*m n=ceil(2*l/(pi*m)) 在可变剖面扫描的时候运用公式sd4=trajpar*360*n 在扫描切口的时候绘制此图形,其中红色的高的计算公式是sd5=pi*m/2 五、方向盘的公式sd4=sd6*(1-(sin(trajpar*360*36)+1)/8) 其中sd4是sd6的(3/4或者7/8),sin(trajpar*360*36的意思是转过360度且有36个振幅似的 六、凸轮的公式sd5=evalgraph("cam2",trajpar*360) r=150 theta=t*360 z=9*sin(10*t*360) 在方向按sin(10*t*360)的函数关系,9为高的9倍10为10个振幅似的 七、锥齿轮公式 m=4模数z =50齿轮齿数z-am=40与之啮合的齿轮齿数angle=20压力角b=30齿厚long分度圆锥角 d分度圆直径da齿顶圆直径df齿根圆直径db基圆直径关系:long=atan(z/z-am) d=m*z da=d+2*m*cos(long)

Excel VBA实例教程 #055:在工作表中添加艺术字

工作表中的多个图形,如果使用系统缺省名称,如“文本框1”、“文本框2”这样前面是固定的字符串,后面是序号的,可以使用For...Next 语句遍历图形,如下面的代码所示。 1.Sub ErgShapes_1() 2. Dim i As Integer 3. For i = 1 To 4 4. Sheet1.Shapes("文本框 " & i).TextFrame.Characters.Text = "" 5. Next 6.End Sub 代码解析: ErgShapes_1过程清除工作表中四个图形文本框中的文字。 第3行到第5行代码,使用Shapes属性在工作表上的三个图形文本框中循环。 Shapes属性返回Shapes对象,代表工作表或图形工作表上的所有图形,可以使用Shapes (index)返回单个的Shape对象,其中index是图形的名称或索引号。 返回单个的Shape对象后使用TextFrame 属性和Characters方法清除文本框中的字符,关于Shape对象的TextFrame 属性和Characters方法请参阅技巧53 。 如果图形的名称没有规律,可以使用For Each...Next 语句循环遍历所有图形,根据Type 属性返回的图形类型进行相应的操作,如下面的代码所示。 1.Sub ErgShapes_2() 2. Dim myShape As Shape 3. Dim i As Integer 4. i = 1 5. For Each myShape In Sheet1.Shapes 6. If myShape.Type = msoTextBox Then 7. myShape.TextFrame.Characters.Text = "这是第" & i & "个文本框" 8. i = i + 1 9. End If 10. Next 11.End Sub 代码解析: ErgShapes_2过程在工作表中的所有图形文本框中写入文本。 第5行代码使用For Each...Next 语句循环遍历工作表中所有的图形对象。 第6行到第9行代码如果图形对象是文本框则在文本框中写入文本。其中第6行代码根据Type属性判断图形对象是否为文本框,应用于Shape对象的Type属性返回或设置图形类型,MsoShapeType类型,请参阅表格54 1 。 第7行代码根据返回的Type属性值在所有的文本框内写入相应的文本,如图1所示。

Excel_VBA实例教程_查找单元格

Excel VBA实例教程查找单元格 1、使用Find方法 在Excel中使用查找对话框可以查找工作表中特定内容的单元格,而在VBA中则使用Find方法,如下面的代码所示。 01.Sub RngFind() 02. Dim StrFind As String 03. Dim Rng As Range 04. StrFind = InputBox("请输入要查找的值:") 05. If Trim(StrFind) <> "" Then 06. With Sheet1.Range("A:A") 07. Set Rng = .Find(What:=StrFind, _ 08. After:=.Cells(.Cells.Count), _ 09. LookIn:=xlValues, _ 10. LookAt:=xlWhole, _ 11. SearchOrder:=xlByRows, _ 12. SearchDirection:=xlNext, _ 13. MatchCase:=False) 14. If Not Rng Is Nothing Then 15. Application.Goto Rng, True 16. Else 17. MsgBox "没有找到该单元格!" 18. End If 19. End With 20. End If 21.End Sub 代码解析: RngFind过程使用Find方法在工作表Sheet1的A列中查找InputBox函数对话框中所输入的值,并查找该值所在的第一个单元格。 第6到第13行代码在工作表Sheet1的A列中查找InputBox函数对话框中所输入的值。应用于Range 对象的Find方法在区域中查找特定信息,并返回Range对象,该对象代表用于查找信息的第一个单元格。如果未发现匹配单元格,就返回Nothing,语法如下: 01.expression.Find(What, After, LookIn, LookAt, SearchOrder, SearchDirection, MatchCase, MatchByte, SerchFormat) 复制代码参数expression是必需的,该表达式返回一个Range对象。 参数What是必需的,要搜索的数据,可为字符串或任意数据类型。 参数After是可选的,表示搜索过程将从其之后开始进行的单元格,必须是区域中的单个单元格。查找时是从该单元格之后开始的,直到本方法绕回到指定的单元格时,才对其进行搜索。如果未指定本参数,搜索将从区域的左上角单元格之后开始。 在本例中将After参数设置为A列的最后一个单元格,所以查找时从A1单元格开始搜索。 参数LookIn是可选的,信息类型。 参数LookAt是可选的,可为XlLookAt常量的xlWhole 或xlPart之一。 参数SearchOrder是可选的,可为XlSearchOrder常量的xlByRows或xlByColumns之一。 参数SearchDirection是可选的,搜索的方向,可为XlSearchDirection常量的xlNext或xlPrevious 之一。

excelvba常见字典用法集锦及代码详解(全)

常见字典用法集锦及代码详解 前言 凡是上过学校的人都使用过字典,从新华字典、成语词典,到英汉字典以及各种各样数不胜数的专业字典,字典是上学必备的、经常查阅的工具书。有了它们,我们可以很方便的通过查找某个关键字,进而查到这个关键字的种种解释,非常快捷实用。 凡是上过EH论坛的想学习VBA里面字典用法的,几乎都看过研究过northwolves狼版主、oobird版主的有关字典的精华贴和经典代码。我也是从这里接触到和学习到字典的,在此,对他们表示深深的谢意,同时也对很多把字典用得出神入化的高手们致敬,从他们那里我们也学到了很多,也得到了提高。 字典对象只有4个属性和6个方法,相对其它的对象要简洁得多,而且容易理解使用方便,功能强大,运行速度非常快,效率极高。深受大家的喜爱。 本文希望通过对一些字典应用的典型实例的代码的详细解释来

给初次接触字典和想要进一步了解字典用法的朋友提供一点备查的参考资料,希望大家能喜欢。 给代码注释估计是大家都怕做的,因为往往是出力不讨好的,稍不留神或者自己确实理解得不对,还会贻误他人。所以下面的这些注释如果有不对或者不妥当的地方,请大家跟帖时指正批评,及时改正。 字典的简介 字典(Dictionary)对象是微软Windows脚本语言中的一个很有用的对象。 附带提一下,有名的正则表达式(RegExp)对象和能方便处理驱动器、文件夹和文件的(FileSystemObject)对象也是微软Windows脚本语言中的一份子。 字典对象相当于一种联合数组,它是由具有唯一性的关键字(Key)和它的项(Item)联合组成。就好像一本字典书一样,是

高中常用函数性质及图像汇总

高中常用函数性质及图像 一次函数 (一)函数 1、确定函数定义域的方法: (1)关系式为整式时,函数定义域为全体实数; (2)关系式含有分式时,分式的分母不等于零; (3)关系式含有二次根式时,被开放方数大于等于零; (4)关系式中含有指数为零的式子时,底数不等于零; (5)实际问题中,函数定义域还要和实际情况相符合,使之有意义。 (二)一次函数 1、一次函数的定义 一般地,形如y kx b =+(k ,b 是常数,且0k ≠)的函数,叫做一次函数,其中x 是自变量。当0b =时,一次函数y kx =,又叫做正比例函数。 ⑴一次函数的解析式的形式是y kx b =+,要判断一个函数是否是一次函数,就是判断是否能化成以上形式. ⑵当0b =,0k ≠时,y kx =仍是一次函数. ⑶当0b =,0k =时,它不是一次函数. ⑷正比例函数是一次函数的特例,一次函数包括正比例函数. 2、正比例函数及性质 一般地,形如y=kx(k 是常数,k≠0)的函数叫做正比例函数,其中k 叫做比例系数. 注:正比例函数一般形式 y=kx (k 不为零) ① k 不为零 ② x 指数为1 ③ b 取零 当k>0时,直线y=kx 经过三、一象限,从左向右上升,即随x 的增大y 也增大;当k<0时,?直线y=kx 经过二、四象限,从左向右下降,即随x 增大y 反而减小. (1) 解析式:y=kx (k 是常数,k ≠0) (2) 必过点:(0,0)、(1,k ) (3) 走向:k>0时,图像经过一、三象限;k<0时,?图像经过二、四象限 (4) 增减性:k>0,y 随x 的增大而增大;k<0,y 随x 增大而减小 (5) 倾斜度:|k|越大,越接近y 轴;|k|越小,越接近x 轴 3、一次函数及性质 一般地,形如y=kx +b(k,b 是常数,k≠0),那么y 叫做x 的一次函数.当b=0时,y=kx +b 即y=kx ,所以说正比例函数是一种特殊的一次函数. 注:一次函数一般形式 y=kx+b (k 不为零) ① k 不为零 ②x 指数为1 ③ b 取任意实数 一次函数y=kx+b 的图象是经过(0,b )和(- k b ,0)两点的一条直线,我们称它为直线y=kx+b,它可以看作由直线y=kx 平移|b|个单位长度得到.(当b>0时,向上平移;当b<0时,向下平移)

Matlab之print,fprint,fscanf,disp函数的用法

print: print函数可以把函数图形保存成图片: minbnd = -4*pi; maxbnd = 4*pi; t = minbnd:0.1*pi:maxbnd; plot(t, sin(t), 'g', 'Linewidth', 2); line([minbnd, maxbnd], [0, 0]); %绘制x轴 axis([-10, 10, -2, 2]) %定义显示的坐标区间:x在(-10,10)之间,y在(-2,2)之间 grid on; title('sin(x)'); xlabel('x'); ylabel('sin(x)'); print('-dpng','sin.png'); %保存为png图片,在Matlab当前的工作目录下 如下: 打开Matlab当前的工作目录下可以看到有sin.png图片了 print('-dpng', 'sin.png')表示保存为png图片,文件名为sin.png,其中第一个参数可以是: -dbmp:保存为bmp格式 -djpeg:保存为jpeg格式 -dpng:保存为png格式 -dpcx:保存为pcx格式 -dpdf:保存为pdf格式 -dtiff:保存为tiff格式

fprintf: fprintf函数可以将数据按指定格式写入到文本文件中: data = [5, 1, 2; 3, 7, 4]; [row, col] = size(data); for i=1:row for j=1:col fprintf('data(%d, %d) = %d\n', i, j, data(i, j)); %直接输出到屏幕;类似于C语言的输出格式end end fprintf(fid, format, data)中的fid表示由fopen函数打开的文件句柄,如果fid 省略,则直接输出在屏幕上,format是字符串形式的输出格式,data是要输出的数据。其中format可以为: %c 单个字符 %d 有符号十进制数(%i也可以) %u 无符号十进制数 %f 浮点数(%8.4f表示对浮点数取8位宽度,同时4位小数) %o 无符号八进制数 %s 字符串 %x 小写a-f的十六进制数 %X 大小a-f的十六进制数 输出到文件: data = [5, 1, 2; 3, 7, 4]; [row, col] = size(data); %求出矩阵data的行数和列数 %加t表示按Windows格式输出换行,即0xOD 0x0A,没有t表示按Linux格式输出换行,即0x0A fid=fopen('test.txt', 'wt'); %打开文件 for i=1:row

Excel VBA实例教程指南

Excel VBA教程之一:写在前面 VBA功能如何强大,这已勿庸费言,但如何才能很快进阶,写出自己满意的程序,却取决于个人努力和悟性。我下了很大功夫却收效甚微,有时,高手一句点拨却胜读三天书。所以,我把个人学习所得作一点整理,希望有助于后学。 只所以会有看书没用之感,一来是因为市面(我国)上大多数计算机类图书多为粗制滥造之作(这话稍有唐突),二来因为计算机这东西太呆板,不见得新出现的问题就能立即得到某本书籍上的解释,新问题总是层出不穷的。 想把一门编程语言全部搞懂,再去写点程序,是一个十分愚蠢的想法。你想盖房子,难道你想先学会制造砖头、玻璃等?我承认,把语言弄懂再做事情会很顺手,但是,你知道吗,有多少人在弄懂一门晦涩难懂的语言之前就放弃了呢?比如,什么叫面向对象编程?OOP和以前的流线性编程有什么异同?我还是大力提倡学以致用,别指望什么事你都能成专家,计算机世界的“罗氏定理”就是:“毕其一生,不能穷其万一”,你记住了吗? 那么,对于没有编程基础的人,怎样才能进步得快呢?我有几点思考: 1.你一定要带着明确的目的去做一件具体的事。这样,才会在做的过程中发现问题,并逐步去解决这些问题。比如,我想做一个《学生成绩分析系统》,我就会想到怎么才能把学生分数分成不同的班、怎么才能算出总分、平均分、标准差等、怎样比较各班的情况,怎样用图形显示更直观,怎么样才能把某个学生的历次成绩放在一起比较等。 2.你动手去做一做,一点一点地完成你上面的设想,不必因为这个大工程没做出来而忽略你在局部的突破,这样,你会越来越有信心,这就够了,还有什么比有信心做事的感觉更好的了吗? 3.合理及时利用网络资源,这绝对是个好东西,或许你看起来很了不起的问题,在别人看来简直不算什么,一定会有人为你解答。上网并不只是QQ和game啊!同时要好好利用软件的帮助系统,这才是最权威的解释,很多计算机书籍抄自帮助,你想,微软的专家写的,绝对原创,他还能去抄谁? 4.做了一些工作之后,再回过头来看书,就会感觉很亲切,觉得写书的人原来也不是一无是处,也是很辛苦的(不要过分自我批评了)。不过,要看书,计算机类的,我百分之一万地推荐你看外国人写的,首先,软件是人家编的,当然更了解。其次,外国人写的,又被介绍到中国来,也是比较优秀的了。三来,我确实作过对比,看老外的书收益最大。语言不通的问题怎么办?金山词霸一下呗。 我为什么要写这个东西?一是因为我想帮助别人,二是因为我想因此促进自己,三是因为我反感某些号称程序员的家伙,似乎编程是一件多么了不起的事,用一些极端人士的话来说:“编程有什么了不起?不就是判断和循环吗”,说得很有道理,从本质上说,计算机就是在做判断和循环,不信你就跟着我来吧。 好了,Let’s go Excel VBA教程之二:从一个界面设计开始 一个好的软件,除了运算速度快、体积小后,更重要的是,它的用户界面是不是很友好、亲切,“友好、亲切”这样的词汇在开始接触计算机语言时,感觉很好笑,但现在不一样了,我感觉这两个词最贴切!界面友好,就是引导用户能很快找到他需要的服务,最能想到他的心思,最体贴他,让他不时地心动,不时地赞叹!界面友好,就是能让用户在不经意间学到好多知识,无形中丰富了他自己,让他有美的享受!界面友好,还在于一目了然的界面却能让他需要的功能呼之即来,挥之即去!如此等等。 那么,我想做一个《学生成绩分析系统》,我该怎么做呢? 以下的界面你满意吗?

excelVBA常用函数

(1) Option Explicit '强制对模块内所有变量进行声明 Option Private Module '标记模块为私有,仅对同一工程中其它模块有用,在宏对话框中不显示 Option Compare Text '字符串不区分大小写 Option Base 1 '指定数组的第一个下标为1 (2) On Error Resume Next '忽略错误继续执行VBA代码,避免出现错误消息 (3) On Error GoTo ErrorHandler '当错误发生时跳转到过程中的某个位置 (4) On Error GoTo 0 '恢复正常的错误提示 (5) Application.DisplayAlerts=False '在程序执行过程中使出现的警告框不显示 (6) Application.ScreenUpdating=False '关闭屏幕刷新 Application.ScreenUpdating=True '打开屏幕刷新 (7) Application.Enable.CancelKey=xlDisabled '禁用Ctrl+Break中止宏运行的功能 工作簿 (8) Workbooks.Add() '创建一个新的工作簿 (9) Workbooks(“book1.xls”).Activate '激活名为book1的工作簿 (10) ThisWorkbook.Save '保存工作簿 (11) ThisWorkbook.close '关闭当前工作簿 (12) ActiveWorkbook.Sheets.Count '获取活动工作薄中工作表数 (13) https://www.360docs.net/doc/4f12733453.html, '返回活动工作薄的名称

Excel VBA实例教程 #060:使用VBA自动生成图表

在实际工作中我们常用图表来表现数据间的某种相对关系,一般采用手工插入的方式,而使用VBA代码可以在工作表中自动生成图表,如下面的示例代码。 1.Sub ChartAdd() 2. Dim myRange As Range 3. Dim myChart As ChartObject 4. Dim R As Integer 5. With Sheet1 6. .ChartObjects.Delete 7. R = .Range("A65536").End(xlUp).Row 8. Set myRange = .Range("A" & 1 & ":B" & R) 9. Set myChart = .ChartObjects.Add(120, 40, 400, 250) 10. With myChart.Chart 11. .ChartType = xlColumnClustered 12. .SetSourceData Source:=myRange, PlotBy:=xlColumns 13. .ApplyDataLabels ShowValue:=True 14. .HasTitle = True 15. .ChartTitle.Text = "图表制作示例" 16. With .ChartTitle.Font 17. .Size = 20 18. .ColorIndex = 3 19. .Name = "华文新魏" 20. End With 21. With .ChartArea.Interior 22. .ColorIndex = 8 23. .PatternColorIndex = 1 24. .Pattern = xlSolid 25. End With 26. With .PlotArea.Interior 27. .ColorIndex = 35 28. .PatternColorIndex = 1

EXCEL VBA 编程常用时间函数

时间函数 Now 返回一个Variant (Date),根据计算机系统设置的日期和时间来指定日期和时间。Date 返回包含系统日期的Variant (Date)。 Time 返回一个指明当前系统时间的Variant (Date)。 Timer 返回一个Single,代表从午夜开始到现在经过的秒数。 TimeSerial(hour, minute, second) 返回一个Variant (Date),包含具有具体时、分、秒的时间。DateDiff(interval, date1, date2[, firstdayofweek[, firstweekofyear]]) 返回Variant (Long) 的值,表示两个指定日期间的时间间隔数目 Second(time) 返回一个Variant (Integer),其值为0 到59 之间的整数,表示一分钟之中的某个秒 Minute(time) 返回一个Variant (Integer),其值为0 到59 之间的整数,表示一小时中的某分钟 Hour(time) 返回一个Variant (Integer),其值为0 到23 之间的整数,表示一天之中的某一钟点 Day(date) 返回一个Variant (Integer),其值为1 到31 之间的整数,表示一个月中的某一日 Month(date) 返回一个Variant (Integer),其值为1 到12 之间的整数,表示一年中的某月Year(date) 返回Variant (Integer),包含表示年份的整数。 Weekday(date, [firstdayofweek]) 返回一个Variant (Integer),包含一个整数,代表某个日期是星期几

Excel常用函数详解

计算机二级考试MS_Office应用Excel函数 =公式名称(参数1,参数2,。。。。。) =sum(计算范围) =average(计算范围) =sumifs(求和范围,条件范围1,符合条件1,条件范围2,符合条件2,。。。。。。) =vlookup(翻译对象,到哪里翻译,显示哪一种,精确匹配) =rank(对谁排名,在哪个范围里排名) =max(范围) =min(范围) =index(列范围,数字) =match(查询对象,范围,0) =mid(要截取的对象,从第几个开始,截取几个) =int(数字) =weekda y(日期,2) =if(谁符合什么条件,符合条件显示的内容,不符合条件显示的内容) =if(谁符合什么条件,符合条件显示的内容,if(谁符合什么条件,符合条件显示的内容,不符合条件显示的内容)) SUM函数 简单求和。 函数用法 SUM(number1,[number2],…) =SUM(A1:A5)是将单元格 A1 至 A5 中的所有数值相加; =SUM(A1,A3,A5)是将单元格 A1,A3,A5 中的数字相加。 SUMIFS函数 根据多个指定条件对若干单元格求和。 函数用法 SUMIFS(sum_range, criteria_range1, criteria1, [criteria_range2, criteria2], ...) 1) sum_range 是需要求和的实际单元格。包括数字或包含数字的名称、区域或单元格引用。忽略空白值和文本值。 2) criteria_range1为计算关联条件的第一个区域。 3) criteria1为条件1,条件的形式为数字、表达式、单元格引用或者文本,可用来定义将对criteria_range1参数中的哪些单元格求和。例如,条件可以表示为32、“>32”、B4、"苹果"、或"32"。 4)criteria_range2为用于条件2判断的单元格区域。 5) criteria2为条件2,条件的形式为数字、表达式、单元格引用或者文本,可用来定义将对criteria_range2参数中的哪些单元格求和。 4)和5)最多允许127个区域/条件对,即参数总数不超255个。 VLOOKUP函数 是Excel中的一个纵向查找函数,按列查找,最终返回该列所需查询列序所对应的值。

EXCEL宏编程简明教程(有实例),

Excel宏编程简明教程 一)、宏学习 首先需要明确的是,本文不可能教会您关于宏的所有内容。您需要学会利用"录制宏"的方法来学习宏: 点击Excel"工具"下拉菜单中"宏"下?quot;录制新宏",此后可象平时一样进行有关操作,待完成后停止录制。然后再点击"工具"下拉菜单中"宏"下"宏"的"编辑"选项即可打开刚才所录制的宏的Visual Basic源程序,并且可以在此时的"帮助"下拉菜单中获得有关的编程帮助。对录制宏进行修改不仅可以学习宏的使用,还能大大简化宏的编写。 二)、基本概念 为了学习Excel中的宏,我们需要先了解以下一些基本概念。 1、工作簿: Workbooks、Workbook、ActiveWorkbook、ThisWorkbooks集合包含Excel中所有当前打开的Excel工作簿,亦即所有打开的Excel文件;Workbook对应Workbooks中的成员,即其中的Excel文件;ActiveWorkbook代表当前处于活动状态的工作簿,即当前显示的Excel文件;ThisWorkbook代表其中有Visual Basic 代码正在运行的工作簿。 在具体使用中可用Workbooks(index)来引用Workbook对象,其中index为工作簿名称或编号;如Workbooks (1)、Workbooks("年度报表.xls")。而编号按照创建或打开工作簿的顺序来确定,第一个打开的工作簿编号为1,第二个打开的工作簿为2……。 2、工作表: Worksheets、Worksheet、ActiveSheet

Worksheets集合包含工作簿中所有的工作表,即一个Excel文件中的所有数据表页;而Worksheet则代表其中的一个工作表;ActiveSheet代表当前处于的活动状态工作表,即当前显示的一个工作表。 可用Worksheets(index)来引用Worksheet对象,其中index为工作表名称或索引号;如Worksheets (1)、Worksheets("第一季度数据")。工作表索引号表明该工作表在工作表标签中的位置: 第一个(最左边的)工作表的索引号为1,最后一个(最右边的)为Worksheets.Count。需要注意的是: 在使用过程中Excel会自动重排工作表索引号,保持按照其在工作表标签中的从左至右排列,工作表的索引号递增。因此,由于可能进行的工作表添加或删除,工作表索引号不一定始终保持不变。 3、图表: Chart、Charts、ChartObject、ChartObjects、ActiveChart代表工作簿中的图表。该图表既可为嵌入式图表(包含在ChartObject中),也可为一个分开的(单独的)图表工作表。 Charts代表指定工作簿或活动工作簿中所有图表工作表的集合,但不包括嵌入式在工作表或对话框编辑表中的图表。使用Charts(index)可引用单个Chart 图表,其中index是该图表工作表的索引号或名称;如Charts (1)、Charts("销售图表")。图表工作表的索引号表示图表工作表在工作簿的工作表标签栏上的位置。Charts (1)是工作簿中第一个(最左边的)图表工作表; Charts(Charts.Count)为最后一个(最右边的)图表工作表。 ChartObject代表工作表中的嵌入式图表,其作用是作为Chart对象的容器。利用ChartObject可以控制工作表上嵌入式图表的外观和尺寸。

Excel中的VBA内部函数有哪些

Excel中的VBA内部函数有哪些 一.测试函数 IsNumeric(x)‘是否为数字,返回Boolean结果,TrueorFalse IsDate(x)‘是否是日期,返回Boolean结果,TrueorFalse IsEmpty(x)‘是否为Empty,返回Boolean结果,TrueorFalse IsArray(x)‘指出变量是否为一个数组。 IsError(expression)‘指出表达式是否为一个错误值 IsNull(expression)‘指出表达式是否不包含任何有效数据(Null)。 IsObject(identifier)‘指出标识符是否表示对象变量 二.数学函数 Sin(X)、Cos(X)、Tan(X)、Atan(x)三角函数,单位为弧度 Log(x)返回x的自然对数 Exp(x)返回ex Abs(x)返回绝对值 Int(number)、Fix(number)都返回参数的整数部分,区别:Int 将-8.4转换成-9,而Fix将-8.4转换成-8 Sgn(number)返回一个Variant(Integer),指出参数的正负号 Sqr(number)返回一个Double,指定参数的平方根 VarType(varname)返回一个Integer,指出变量的子类型 Rnd(x)返回0-1之间的单精度数据,x为随机种子 三.字符串函数

Trim(string)去掉string左右两端空白 Ltrim(string)去掉string左端空白 Rtrim(string)去掉string右端空白 Len(string)计算string长度 Left(string,x)取string左段x个字符组成的字符串 Right(string,x)取string右段x个字符组成的字符串 Mid(string,start,x)取string从start位开始的x个字符组成的字符串 Ucase(string)转换为大写 Lcase(string)转换为小写 Space(x)返回x个空白的字符串 Asc(string)返回一个integer,代表字符串中首字母的字符代码 Chr(charcode)返回string,其中包含有与指定的字符代码相关的字符 四.转换函数 CBool(expression)转换为Boolean型 CByte(expression)转换为Byte型 CCur(expression)转换为Currency型 CDate(expression)转换为Date型 CDbl(expression)转换为Double型 CDec(expression)转换为Decemal型 CInt(expression)转换为Integer型

Creo常用函数

Creo(PROE)中关系式的理解 一)关系式中可以用下列数学函数式表达: 1)、正弦 sin( ) 2)、余弦 cos( ) 3)、正切 tan( ) 4)、反正弦 asin( ) 5)、反余弦 acos( ) 6)、反正切 atan( ) 7)、双曲线正弦 sinh( ) 8)、双曲线余弦 cosh( ) 9)、双曲线正切 tanh( ) 以上九种三角函数式所使用的单位均为“度”。 10)、平方根 sqrt( ) 11)、以10为底的对数 log( ) 12)、自然对数 ln( ) 13)、e的幂 exp( ) 14)、绝对值 abs( ) 15)、不小于其值的最小整数(上限值) ceil( ) 16)、不超过其值的最大整数(下限值) floor( ) 可以给函数ceil和floor加一个可选的自变量,用它指定要圆整的小数位数。 带有圆整参数的这些函数的语法是: ceil(parameter_name或number, number_of_dec_places) floor (parameter_name 或 number, number_of_dec_places) 其中的parameter_name或number意为参数名称或者一个带小数位的精确数值 后面跟随着的number_of_dec_places意为十进位的小数位数,是可选值: A)可以被表示为一个数或一个使用者自定义参数。如果该参数值是一个实数,则被截尾成为一个整数。 B)它的最大值是8。如果超过8,则不会舍入要舍入的数(第一个自变量),并使用其初值。C)如果不指定它,则功能同前期版本一样。 使用不指定小数部分位数的ceil和floor函数,其举例如下: ceil (10.2) 值为11 floor (10.2) 值为 10

Excel VBA实例教程 #022:选择工作表的方法

在VBA中需要激活或者选择某个工作表时使用Select方法或Activate方法,如下面的代码所示。 1.Sub SelectSh() 2. Worksheets("Sheet2").Select 3.End Sub 4.Sub ActivateSh() 5. Worksheets("Sheet2").Activate 6.End Sub 代码解析: SelectSh过程使用Select方法选择“Sheet2”工作表,而ActivateSh过程则使用Activate 方法选择“Sheet2”工作表,从表面看两者的作用是相同的,但是如果“Sheet2”工作表是隐藏的,Activate方法可以正常运行,而Select方法将会出现错误,如图1所示。 图 1 Select方法无效提示 如果需要同时选中工作簿中的所有工作表,则只能使用Select方法而不能使用Activate 方法,如下面的代码所示。 1.Sub SelectShs() 2. Dim Shs As Worksheet 3. For Each Shs In Worksheets 4. Shs.Select False 5. Next 6.End Sub 7.Sub SelectSheets() 8. Worksheets.Select 9.End Sub 10.Sub ArraySheets() 11. Worksheets(Array(1, 2, 3)).Select

12.End Sub 代码解析: SelectShs过程遍历工作表并使用带参数的Select方法选中所有工作表。应用于Worksheet对象的Select方法的语法如下: Select(Replace) 参数Replace是可选的。如果该值为True,则用指定对象替代当前选定对象。如果该值为False,则延伸当前选定对象以包括任何以前选定的对象。 SelectSheets过程使用Worksheets集合的Select方法选中集合中所有的对象。 ArraySheets过程使用Array 函数返回工作簿中的前三张工作表并使用Worksheets集合的Select方法选中前三张工作表。

在Excel VBA中调用Excel自带函数

在Excel VBA中调用Excel自带函数-Excel VBA学习 2010-03-29 19:45:25| 分类: computer|字号订阅 最近在写一个VBA的程序,想自己生成一些报表.便遇到了在VBA中无法使用SUM函数.解决的方法如下: 前段时间为公司实验室编制测试数据库,其中遇到一个问题,怎样在VBA中使用Excel自带的一些函数呢?如min,max,average等等。 本以为能在Excel表格中直接使用的函数也能直接移植到VBA中,结果发现根本行不通,程序报错。后来通过多方查询发现,虽然不能直接引用,但是我们可以曲线救国,excel中表格可以用max函数,在VBA中也可以用,只需通过WorksheetFunction对象就可以引用,后面加函数名称,然后加range来引用单元格。举个例子: Application.WorksheetFunction.Max(range("A1:C5")) 下面就是能在VBA中使用excel自带函数: A__ Acos Acosh And Asin Asinh Atan2 Atanh AveDev Average B__ BetaDist BetaInv BinomDist C__ Ceiling ChiDist ChiInv ChiTest Choose Clean Combin Confidence Correl Cosh Count CountA CountBlank CountIf

Covar CritBinom D__ DAverage Days360 Db DCount DCountA Ddb Degrees DevSq DGet DMax DMin Dollar DProduct DStDev DStDevP DSum DVar DVarP E__ Even ExponDist F__ Fact FDist Find FindB FInv Fisher FisherInv Fixed Floor Forecast Frequency FTest Fv G__ GammaDist

关系中常用函数详解

在ProE中,我们的关系可以直接很多系统已经预定义好的函数,通过这些函数我们可以来进行一些特定的运算得到所期望的值,下面我们就对一些常用函数进行一个概括和总结,方便大家在使用的时候查阅。 1.数学函数 在proe中,我们可以使用丰富的数学函数,常用的函数列表如下: sin()、cos()、tan()函数 这三个都是数学上的三角函数,分别使用角度的度数值来求得角度对应的正弦、余弦和正切值,比如: A=sin(30) A=0.5? B=0.866?B=cos(30) ?C=tan(30) C=0.577 asin()、acos()、atan()函数 这三个是上面三个三角函数的反函数,通过给定的实数值求得对应的角度值,如:A=asin(0.5) A=30? B=60?B=acos(0.5) C=26.6?C=atan(0.5)

sinh()、cosh()、tanh()函数 在数学中,双曲函数类似于常见的(也叫圆函数的)三角函数。基本双曲函数是双曲正弦“sinh”,双曲余弦“cosh”,从它们导出双曲正切“tanh”等。 sinh / 双曲正弦:sinh(x) = [e^x - e^(-x)] / 2 cosh / 双曲余弦:cosh(x) = [e^x + e^(-x)] / 2 tanh / 双曲正切:tanh(x) = sinh(x) / cosh(x)=[e^x - e^(-x)] / [e^x + e^(-x)] 函数使用实数作为输入值 log()函数 求得10为底的对数值,如: A=log(1) A=0;? A=1;?A=log(10) ?A=log(5) A=0.6989...; ln()函数 求得以自然数e为底的对数值,e是自然数,值是2.718...;如: A=ln(1) A=0;? ?A=ln(5) A=1.609...;

excel2010 vba笔记 (实战教程)(基础实例)

VBA笔记 8-21 1.VBA是什么: 微软开发出来的应用程序一种能共享通用的自动化语言,VBA能使已有的应用程序(excel等)自动化,可以创建自定义的解决方案.等同:可以用excel的宏语言来使excel自动化,使用word BASIC使word自动化,等等。VBA可以称作excel的“遥控器”.此外,如果你愿意,还可以将excel用做开发平台实现应用程序. 2.VBA可以实现的功能 1. 使重复的任务自动化. 2. 自定义excel工具栏,菜单和界面. 3. 简化模板的使用. 4. 自定义excel,使其成为开发平台. 5. 创建报表. 6. 对数据进行复杂的操作和分析. 3.宏 3.1录制简单的宏 选择“工具”—“宏”—“录制新宏”—输入宏名—确定—开始录制(状态栏中显示“录制”)—结束宏录制(“工具”—“宏”—“停止录制”。)*开始录制并非一个按钮,而是你的一系列操作,宏会记录下来变为自己的操作。 3.2执行宏 选择任何一个单元格—选择“工具”—“宏”—“宏”(出现“宏”对话框)—选择相应的宏名—“执行”。 3.3查看录制的代码 工具”—“宏”—“宏”(显示“宏”对话框)—选择某个宏—“编辑” VBA的编辑器窗口(VBE) Sub 改变颜色() //宏名 ’ ’改变颜色Macro ’xw 记录的宏2000-6-10 ’ ’//以上五行录制时自动生成 Range("A5").Select //表示无论选择哪个单元格,最后都只作用于A5 With Selection.Interior//设置属性在选择区域的内部(开始录制属性) .ColorIndex = 3 //颜色为3号色:红色 .Pattern = xlSolid //区域内部图案=纯色(录制时自动生成,可删) PatternColorIndex = xlAutomatic //内部图案底纹颜色=自动(自动生成,可删) End With //结束属性录制 End Sub//结束宏录制 一个名为练习的宏: Sub 练习() ' ' 练习宏 ' ' With Selection.Borders(xlEdgeLeft) .LineStyle = xlContinuous .ColorIndex = 0

Excel VBA基础教程两篇

Excel VBA基础教程两篇 篇一:Excel VBA基础教程 Excel VBA教程是把VB编程应用在Excel平台的一套实用教程,Excel +VBA双剑合壁,他可以帮助我们实现Excel原本实现不了的功能,可以让工作变得更高效,可以让操作变得变方便,可以把重复性的操作变得更有趣,随心所欲的定制自己的工作平台,还可以针对企业来开发各种系统如,人事管理系统、仓库系统、进存销系统等,对于经常要处理大量数据工作的朋友,学会了这套VBA教程你的工作将游刃有余。 标题 Excel VBA基础教程 Excel VBA基础教程 第一章:Excel VBA基础知识 1-1、Excel VBA教程简介 1-2、宏在工作中的运用

1-3、Excel VBA基础 1-4、Excel VBA窗口介绍 1-5、Excel VBA代码编写规则1-6、对象 1-7、属性 1-8、方法 1-9、常量与变量 1-10、数据类型 1-11、判断语句之IF 1-12、判断语句IF之多条件1-12B、If条件判断小结

1-13、判断语句之SELECT 1-14、循环语句之DO...LOOP 1-15、循环语句之DO...LOOP实例 1-16、循环语句之DO WHILE...LOOP 1-17、循环语句之DO UNTIL...LOOP 1-18、循环语句之WHILE与UNTIL位置变化1-18B、DO...LOOP 语法小结 1-19、.循环语句之FOR EACH...NEXT 1-20、循环语句之FOX...NEXT 1-20B、For...NEXT小结与实例 1-21、用语句FOR...NEXT制作九九乘法表

相关文档
最新文档