vab数字货币
㈠ EXCEL里面的格子格式自动生成为货币形式
把VBA代码加入OPEN事件就可以完成,方法如下
alt+f11 打开代码页
2. 左边找到ThisWorkbook,双击它
3. 左边下拉列表分别选择Workbook和右边的Open
4. 在下面加入代码
----------------------------------------代码区---------------------------------------------
'如果不是第1个表,则把1改为"表名,如sheets(1)改为sheets("表名")
cl = Sheets(1).UsedRange.Find("Count", , , , 1).Column
px = Sheets(1).Cells(1, cl).Address
ra = Split(px, "$")(1)
Sheets(1).Range(ra & ":" & ra).NumberFormatLocal = "$#,##0;-$#,##0"
----------------------------------------代码区---------------------------------------------
如下面所示:
如果不是第1个表,则要把代码里的把1改为"表名",如:sheets(1)改为sheets("表名")
㈡ 菜鸟提问关于vba的single和double的用法
“难道大于3.402823E38或4.94065645841247E-324的数值就不能用了吗?”是的对于单精度数据绝对不能大于3.402823E38,对于双精度数据绝对不能小于4.94065645841247E-324,大于1.79760313486232E308,对于一般运算这些范围应该是没有任何问题的。
基本工资、交通补贴采用单精度数据就可以,当然采用货币型(Currency)数据也没有问题,可以存储近1亿亿元人民币。
你可能有点误解,最大存储和最小存储是一个范围,对于单精度可以存储任何小数形式的数字数据,例如 0.5 也是单精度数据,1254.12345678 也是单精度数据,当然在单精度数据中存储整数也没有问题,双精度也是一个道理,货币数据也一样,但货币数据的小数后只容许4位。
㈢ word VBA解决数字变货币形式
如A1为数据,在B1中输入下列公式
=IF(A1<0,"负","")&IF(TRUNC(ROUND(A1,2))=0,"",TEXT(TRUNC(ABS(ROUND(A1,2))),"[DBNum2]")&"圆")&IF(ISERR(FIND(".",ROUND(A1,2))),"",TEXT(RIGHT(TRUNC(ROUND(A1,2)*10)),"[DBNum2]"))&"角"&IF(ISERR(FIND(".0",TEXT(A1,"0.00"))),"","")&IF(LEFT(RIGHT(ROUND(A1,2),3))=".",TEXT(RIGHT(ROUND(A1,2)),"[DBNum2]")&"","")&"分"
㈣ excel vba常用代码
Visual Basic for Applications(简称VBA)是新一代标准宏语言,是基于Visual Basic for Windows 发展而来的。它与传统的宏语言不同,传统的宏语言不具有高级语言的特征,没有面向对象的程序设计概念和方法。而VBA 提供了面向对象的程序设计方法,提供了相当完整的程序设计语言。VBA 易于学习掌握,可以使用宏记录器记录用户的各种操作并将其转换为VBA 程序代码。这样用户可以容易地将日常工作转换为VBA 程序代码,使工作自动化。[1]
数据类型
基本数据类型
即Primary Type Data,下述列表的括号内为字节数:
Byte(1):无符号数类型,取值范围0-255
Boolean(2)
Integer(2)
Long(4)
Single(4)
Double(8)
Currency(8)
Decimal(14)
Date(8)
String
Object(4)
Variant(根据分配确定)[2]
Option Base 0 :数组索引值从0开始[2]
Option Base 1 :数组索引值从1开始
Dim MyArray(10) :声明一个数组变量,10是最大的可用的数组索引值
MyArray(5) = 101 :给数组的元素赋值
Dim Data(10,5) :声明一个二维数组变量
Data(1,1) = "A001" :给数组元素赋值
Dim cArr(-11 To 20, 1 To 3) As String :声明一个数组,定义数组索引值的上下界
Dim dArr() As String :声明动态数组
ReDim dArr(0 To 5, 1 To 2) :改变动态数组的尺寸默认把原数据清除。如果保留原来的数据,必须加上参数
Preserve:使用Preserve参数时只能改变最后一位的大小
If UBound(vTemp) = -1 Then:判断数组变量vTemp是否为空数组
End If Erase MyArrar, Data Erase语句清除数组元素,释放变量占用的空间[2]
- [Publicr/Private]Const常量名[As类型]=表达式
关键字变量名 AS数据类型
关键字变量1,变量2 ... 变量n AS数据类型
关键字变量1 AS数据类型,变量2 As数据类型, ... ,变量n AS数据类型
变量名=数据
变量1=变量2 运算符 数据
变量1=变量2 运算符 变量3 … 运算符 变量n
- if条件1then语句1elseif条件2then语句2elseif......else语句nendif
- SelectCase表达式Case表达式列表1语句1Case表达式列表2语句2...Case表达式列表n语句nEndSelect
表达式例: "A"
用逗号分隔的一组枚举表达式例:2,4,6,8
表达式1 To表达式2 例:60 To 100
Is关系运算符表达式 例:Is < 60
- DoWhile或Until条件语句块1ExitDo语句块2Loop
- Do语句块1ExitDo语句块2LoopWhile或Until条件
- For循环控制变量=初值To终值Step步长语句块‘ExitFor语句可以跳出循环体Next
- For循环控制变量=初值To终值Step步长Do'用于模拟continue语句块If条件ThenExitDo'用于模拟continue语句块LoopWhileFalse'用于模拟continueNext
- With对象引用语句块EndWith
- OnErrorGoto出错处理语句的label'跳转到出错处理语句
- OnErrorResumeNext'遇到错误,不管错误,继续往下执行
If(条件式,表达式1,表达式2)[5]
Switch(条件式1,表达式1,[条件式2,表达式2[,...,条件式n,表达式n]])
Choose(索引式,选项1[,选项2,...[,选项n]]) '这是基于1的索引
- Sub过程名(参数表)语句块ExitSub语句块EndSub
- 1
- Function函数名(参数表)AsType语句块函数名=表达式ExitFunctionEndFunction
- DimcnAsADODB.ConnectionSetcn=CurrentProject.ConnectionDimrsAsNewADODB.Recordsetrs.Open"SELECT*FROMmyTable",cnDimExcelAppAsNewExcel.=ExcelApp.Workbooks.Add.Worksheets(1)ExcelWst.Range("A2").CopyFromRecordset(rs)'失败,无法执行该行ExcelWst.Range("A2").CopyFromRecordsetrs'可成功执行该行
MsgBox
InputBox
舍入函数:Fix 向0取整,Int向下取整, Round四舍五入
Rnd: 返回0-1内的单精度随机数
字符串函数:[5]
Filter:对字符串的一维数组的过滤
InStr([Start, ]<Str1>,<Str2>[, Compare])与InStrRev: 查找子串
Len:字符串长度
Join:连接一维数组中的所有子字符串
Left,Right,Mid: 截取子字符串
Space(数值) :生成空格字符串
Ucase,Lcase:大小写转换函数
Ltrim, Rtrim,Trim :删除首尾空格
Replace
Split:分割一个字符串成为一维数组
StrComp:字符串比较
StrConv:字符串转换
String(number, character):制定字符重复若干次
StrReverse
日期/时间有关函数:[5]
Year, Month, Day, WeekDay,Hour,Minute,Second: 截取日期时间分量
DateAdd: 日期/时间增量函数
DateDiff(<间隔类型>,<日期1>,<日期2>[,W1][,W2])日期/时间的距离函数
DatePart(<分割类型>,<日期>[,w1][,w2])时间分割函数
DateSerial(<表达式1>,<表达式2>,<表达式3>) 合成日期;DateValue(“字符串表达式”)返回日期;
Date,Time,Now,Timer: 返回日期时间
DateValue
TimeSerial:由时间序列得到时间对象
TimeValue:由时间字符串得到时间对象
Weekday:获得日期的周几
WeekdayName
转换函数:CBool、CByte、CCur、CDate、 CDbl、CDec、CInt、CLng、CLngLng、CLngPtr、[5]CSng、CStr、CVar、CVErr、Asc(<字符串表达式>)返回第一个字符的Ascii编码值、Chr(ASCII码)返回字符、Hex、Oct、Str(<数值表达式>)返回字符串、Val(string)、Format、FormatCurrency、FormatDateTime、FormatNumber、FormatPercent、MonthName。
Nz(表达式或字段属性值[,规定值])如果是空,则返回0或者""或者函数的第二个参数值[5]
验证函数:isNumeric、isDate、isNull、isEmpty、IsArray、IsError、IsMissing、IsObject[5]
数学函数:Abs、Sqr、Tan、Atn(即atan)、Sin、Cos、Exp(e为基的指数)、Log自然对数[5]
Array:构造一个Array对象[5]
CallByName: get or set a property, or invoke a method at run time using a string name.[5]
控制流:Choose:类似于C语言的select语句、If相当于IF-ELSE语句、Switch[5]
Command:获取命令行参数[5]
CreateObject:创建ActiveX对象
CurDir:返回指定驱动器的当前工作路径[5]
由基本数学函数导出的函数:Sec、Cosec、Cotangent、Cotan、Arcsin、Arccos、Arcsec、Arccosec、Arccotan、HSin、HCos、HTan、HSec、HCosec、HCotan、HArcsin、HArccos、HArctan、HArcsec、HArccosec、HArccotan、LogN
DoEvents:暂时把CPU控制权交回给系统[5]
Environ:返回环境变量的值[5]
文件操作:[5]
Dir:返回满足条件的所有文件、目录的名字
EOF
FileAttr
FileDateTime
FileLen
FreeFile Function
GetAttr:返回文件、目录的属性值
Input:读取文件
Loc:文件指针位置
LOF:文件打开时的指针位置
Seek:文件指针定位
Spc:使用Print做position output
Tab:用于Print函数
Error:错误号对应的错误消息[5]
Windows Registry中的数据:GetAllSettings、SaveSetting、DeleteSetting、GetSetting[5]
GetObject:ActiveX组建的引用[5]
IMEStatus:返回当前Input Method Editor (IME)[5]
Macintosh平台:MacID、MacScript[5]
金融函数:[5]
DDB:使用double-declining balance计算贬值
FV:计算固定利率的年金
IPmt:计算利率
IRR:计算利率
MIRR:计算利率
NPer:计算周期数
NPV:计算net present value
Pmt:计算支付数
PPmt:计算本金支付数
PV:计算present value
Rate:利息率
SLN:straight-line depreciation
SYD:计算sum-of-years' digits depreciation
Partition:返回字符串,表示一个数值名字落在各个range内。常用于SQL select语句[5]
QBColor:颜色值[5]
RGB:颜色值[5]
TypeName:得到变量的类型名[5]
VarType:得到变量的类型数[5]
自定义的数据类型
相当于C语言的struct,例如:[2]
Type 自定义类型名 元素名 As 类型 … [元素名 As 类型] End Type
数组
常量
编辑
系统定义常量
系统定义常量有3个:True、False和Null。[4]
固有常量
固有常量是编程时引用的对象库定义的常量。所有固有常量都可以在宏或VBA代码中使用。通常,固有常量通过前两个字母来指明定义该常量。来自VB库的常量则以“vb”开头。来自Access的常量以“ac”开头。可以使用对象浏览器来查看所有对象库中的固有常量列表。[4]
在VBA中,常量的数据类型有整型、长整型、单精度型、双精度型、字节型、货币型、字符型、日期型和逻辑型。一个整型数据就是一个整型常量,一个长整型数据就是一个长整型常量。例如,12%、-1%是整型常量,32768&、10000000&是长整型常量,-2.5 1、3.14是单精度实型常量,3.1415926#是双精度实型常量,China、Shanghai是字符型常量,#07/13/2001 11:45PM#是日期常量,由符号 “ # ” 将字符括起来。[4]
符号常量
可以自行定义的常量即符号常量,必须先定义,后使用。可见,需要声明的常量都是符号常量。[4]
基本语法格式:
1如:Global Const符号常量名称 = 常量值[4]
语句功能:
定义一个符号常量,并将指定表达式的值赋给符号常量。[4]
语句说明如下:[4]
1)“常量名”指定符号常量的名字。符号常量名可以由字母、数字和下画线组成,但只能以字母开头,不能含有空格。[4]
2)“表达式”指定符号常量的值。该表达式通常由数值型、字符型、逻辑型或日期型数据以及各种运算符组成,但在表达式中不能出现变量和函数。[4]
3) public用来表示这个常量的作用范围是整个数据库的所有模块。[4]
4) private则表示这个常量只在使用该声明常量语句的模块中起作用。[4]
说明:
1)除用户定义的符号常量外,VBA还提供了许多符号常量,我们可以直接使用。[4]
2)对数码比较长,并且在程序中多次使用的常量,通常使用符号常量代替。运行程序时,系统自动把程序中的所有符号常量换为赋给它的值。[4]
变量
编辑
与常量一样,变量也是一块内存空间,用于保存程序运行过程中可能变化的数据。变量的名称是用户定义的一个标识符。[5]
在代码中需要使用该变量时,只需引用相应的标识符即可,而不用管变量当前的值具体是什么。[5]
声明
与用户自定义的常量相似,变量在使用之前都需要声明,在VBA中声明变量的语法格式有以下几种:[5]
在第二种语法格式中, “变量n”的数据类型为AS关键字后定义的数据类型,而“变量1”、“变量2”、…的数据类型为变体型。[5]
在VBA中,可用Dim、Private、Public和Static这4个关键字来声明变量,使用不同关键字声明的变量其含义也有所不同。[5]
◆ 利用Dim关键字声明变量:Dim关键字主要用来在内存中分配一块空间,并为该空间命名,是VBA中声明变量最常用的关键字。使用Dim关键字声明的变量只能在当前过程或模块中使用。[5]
◆ 利用Private关键字声明变量:Private关键字用于在类模块中声明一个私有变量,它只能在当前的类模块中使用。当定义变量的位置同处于类模块中时,其使用效果与使用Dim关键字定义的变量相同。[5]
◆ 利用Public关键字声明变量:利用Public关键字声明的变量可以在程序的任何地方调用,而与声明变量的位置无关。[5]
◆ 利用Static关键字声明变量:Static关键字用于声明静态变量,即变量的值在整个代码运行期间都能被保留。[5]
赋值
变量在使用时还需要对其进行赋值。在VBA中对变量进行赋值可通过 “ = ” 符号或 “ Set ” 关键字进行。通过 “ = ” 符号对变量赋值的语法格式有以下几种。[5]
如果在定义变量时指定了变量的数据类型,则为变量所赋的值也必须是该数据类型的值。如果变量定义为Integer类型,而在赋值时却给了变量一个String类型的数据,则在编译运行的过程中将弹出错误弹框。[5]
运算符
编辑
运算符是在程序中执行计算功能的某些特殊符号,它是程序代码的重要组成部分。在程序代码中,运算符不能单独使用,必须与其操作数共同组成表达式后才具有运算意义。VBA中的运算符包含算术运算符、连接运算符、比较运算符和逻辑运算符等。[4]
算术运算符
算术运算符主要用于执行四则运算,仅用算术运算符连接起来的表达式称为算术表达式。算术运算符及其作用与示例如表所示。[5]
例子
名称
结果
-$a
取反
$a 的负值。
$a + $b
加法
$a 和 $b 的和。
$a - $b
减法
$a 和 $b 的差。
$a * $b
乘法
$a 和 $b 的积。
$a / $b
除法
$a 除以 $b 的商,允许小数。
$a $b 除法 $a 除以 $b 的商,结果取整。
$a Mod $b
取余
$a 除以 $b 的余数
注意:
在执行算术运算时,运算符两侧操作的数据类型必须相同,否则会出现“类型不匹配”的错误提示。当“+”运算符左右两侧都是字符串类型的操作数时,执行的是连接运算,如表达式“"Pass+"word"的计算结果为字符串“ PassWord ”。[5]
连接运算符
连接运算符的作用是将运算符两侧的操作数连接成一个数,其操作数的数据类型通常都为String类型。VBA中的连接运算符有“&”和“+”两种,由于使用“+”执行连接运算时,容易与加法运算混淆,所以通常都采用“&”进行连接运算。[5]
比较运算符
比较运算符可以对运算符两侧的操作数执行比较运算,其返回结果为Boolean类型的True或False。比较运算符的操作数通常为具体的数值,当操作数为字符串或其他符号时,是根据该符号的ASCII码进行比较的。VBA中的比较运算符及其作用与示例如表所示。[5]
例子
名称
结果
$a = $b
等于
TRUE,如果 $a 等于 $b。
$a <> $b
不等
TRUE,如果 $a 不等于 $b。
$a < $b
小于
TRUE,如果 $a 严格小于 $b。
$a > $b
大于
TRUE,如果 $a 严格大于 $b。
$a <= $b
小于等于
TRUE,如果 $a 小于或者等于 $b。
$a >= $b
大于等于
TRUE,如果 $a 大于或者等于 $b。
逻辑运算符
逻辑运算符用于对运算符两侧的操作数执行逻辑运算,参与逻辑运算的操作数本身可以是逻辑表达式(表达式的最终结果为True或 False),也可以是算术表达式(表达式的最终返回值为0或非0)。[5]
在逻辑运算中,数值0与逻辑值 False相同,表示逻辑假;非0数值与True相同,表示逻辑真。逻辑运算符及其含义与示例如表所示。[5]
例子
名称
结果
$a and $b
And(逻辑与)
TRUE,如果 $a 与 $b 都为TRUE。
$a or $b
Or(逻辑或)
TRUE,如果 $a 或 $b 任一为TRUE。
$a xor $b
Xor(逻辑异或)
TRUE,如果 $a 或 $b 同位相异。
Not(1>2)
Not(逻辑非)
TRUE。
(1>2) Eqv (1>2)
两个操作数同为假,返回False;两个操作数同为真,返回True;两个操作数一真一假,返回False
TRUE。
2<>1 Imp 3<5
运算符左右同为真,返回True;左右同为假,返回True;左真右假,回返 False;左假右真,返回True
TRUE。
语法结构
编辑
if 语句
1Select Case 语句
1其中的表达式列表可以为:[5]
Do...Loop 语句
1For...Next语句
1For Each … Next语句
1跳出本次循环的continue语句
1With语句
1On Error语句
1或
1具有控制作用的函数
其他语句
编辑
注释语句
使用REM或者单引号开始的行。[6]
语句的连写与续行
如果一行包括多条语句,用冒号分割各个语句。跨多行的语句,在行末用“空格加下划线”表示续行[6]。
过程与函数
编辑
12可以是Private、Public、Friend、Static等修饰。[6]
调用函数/过程时,可以加括号或者不加括号。如果调用表达式作为一行的一部分,那么必须用参数,例如函数调用的返回值赋给变量。 调用过程时, 可以使用/不使用call关键字。使用call语句调用过程,如果无参数,则不加括号;如果有参数,必须加括号。如果调用时用括号包住单个参数,则该参数强行按值传递。需要特别注意,不用call不加括号的调用,形参与实参是传值(passed by value)而不是传引用(passed by reference),这会导致一些对象的方法调用失败。例如:[6]
1常用内置函数
编辑
VBA的常用内置函数:[5]
㈤ Excel中VBA代码汇率转换的格式问题
不好意思,没有看到你的求助。请加入以下这段代码应该就行了。
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Target.NumberFormatLocal = "G/通用格式"
End Sub
㈥ VBA的inputbox 做税法计算器的时候,怎样能够使得输入同时接受带货币符号和不带货币符号的数字。
inputbox函数本身没有提供验证数据的工具,输出的结果总是字符串。可用msgbox vartype(i)来快速查看它的数据类型
可用csng(i)转换成一个单精度浮点类型的数字
㈦ vba中的format函数怎么用
Format(值,格式(可选参数))
一、数字格式:
1、GeneralNumber:普通数字,可以用来去掉千位分隔号和无效 0 。
如:Format("1,234,567.80","General Number")="1234567.8"
2、Currency:货币类型,可添加千位分隔号和货币符号,保留两位小数点。
如:Format(1234567,"Currency")="¥1,234,567.00"
3、Fixed:格式为带两位小数的数字。
如:Format("123456","Fixed")=123456.00
4、Standard:标准,即带千位分隔号和两位小数。
如:Format("123456","Standard")=123,456.00
5、Percent:带两位小数点的百分数。
如:Format("123456","Percent")=12345600.00
6、Scientific:科学记数法。
如:Format("1234567","Scientific")=1.23E+06
7、Yes/No:当数值为非 0 数字时返回 Yes ,否则返回 No 。
如:Format(-3.14,Yes/No")="Yes" Format(0,"Yes/No")="No"
8、True/False:当数值为非 0 数字时返回 True ,否则返回 False 。
与第7点类似,这里不再举例。
9、On/Off:当数值为非 0 数字时返回 On ,否则返回 Off 。
与第7点类似,这里不再举例。
10、""或省略:返回原值,但去除了小数点前后的无效 0 。
如:Format("0.1030","")=".103"
11、0:占位格式化,不足位时补足 0 。
如:Format(123,0000")="0123" Format$(12.3,"0.00")="12.30"
12、#:占位格式化,不足位时不补足 0 。
如:Format(123,"####")=123
13、%:转化为百分数,一个%代表乘以 100 。
如:Format(1.23,"0.00%")=123.00% Format(1.23,"0.00%%")=12300.00%%
14、\:强制显示某字符。
如:Format$(12.34, "\R\M\B.00")="RMB 12.34"
15、;(分号):分段显示不同格式
比如要把正数显示为“正”,负数显示为“负”,0显示为“零”,参数为"正;负;零"
如:Format$(123, "正;负;零")="正"
第1段为正数格式,第2段为负数格式,第3段为0格式。
二、日期和时间格式:
1、固定格式参数
General Date:基本类型
如:Format("2010-5-19:8:5", "General Date")="2010/5/1 9:08:05"
Long Date:操作系统定义的长日期
如:Format("2010-5-19:8:5", "Long Date")=2010年5月1日
Medium Date:中日期
如:Format("2010-5-19:8:5", "Medium Date")=10-05-01
Short Date:操作系统定义的短日期
如:Format("2010-5-19:8:5", "Short Date")=2010-5-1
Long Time:操作系统定义的长时间
如:Format("2010-5-19:8:5", "Long Time")=9:08:05
Medium Time:带AM/PM(上午/下午)的12小时制,不带秒
如:Format("2010-5-19:8:5", "Medium Time")=09:08 上午
Short Time:24时制的时间,不带秒
如:Format("2010-5-19:8:5", "Short Time")=09:08
2、自定义格式
C:格式化为国标的日期和时间
如:Format("2010-5-19:8:5", "c")=2010/5/1 9:08:05
y:一年中的第几天(1-366)
如:Format("2010-5-19:8:5", "y")=121
yy:两位数的年份(00-99)
如:Format("2010-5-19:8:5", "yy")=10
yyy:上面的 yy 与 y 结合在一起
如:Format(2010-5-1 9:8:5","yyy")=10121
Format("2010-5-19:8:5", "yy年第y天")=10年第121天
yyyy:四位数的年份(0100-9999)
如:Format("2010-5-19:8:5", "yyyy")=2010
d:一个月中的第几天(1-31)
如:Format("2010-5-19:8:5", "d")=1
dd:与 d 相同,但不足两位时补足 0
如:Format("2010-5-19:8:5", "dd")=01
ddd:三个英文字母表示的星期几
如:Format("2010-5-19:8:5", "ddd")="Sat"
dddd:英文表示的星期几
如:Format("2010-5-19:8:5", "dddd")="Saturday"
ddddd:显示标准日期
如:Format("2010-5-19:8:5", "ddddd")=2010/5/1
dddddd:长日期
如:Format("2010-5-19:8:5", "dddddd")=2010年5月1日
w:一个星期中的第几天(始于周日,周日为1)
如:Format("2010-5-19:8:5", "w")=7
ww:一年中的第几周
如:Format("2010-5-19:8:5", "ww")=18
m:月份数(当用于时间时,也可以表时为分钟)
如:Format("2010-5-19:8:5", "m")=5
mm:当小于10时带前导0的月数(当用于时间时,也可以表示为两位数的分钟数)
如:Format("2010-5-1 9:8:5","mm")=05
mmm:三个英文字母表示的月份数
如:Format("2010-1-19:8:5", "mmm")="Jan"
mmmm:英文表示的月份数
如:Format("2010-1-19:8:5", "mmmm")="January"
q:一年中的第几季(1-4)
如:Format("2010-5-19:8:5", "q")=2
aaa:中文表示的周几
如:Format("2010-5-19:8:5", "aaa")=周六
aaaa:中文表示的星期几
如:Format("2010-5-19:8:5", "aaaa")=星期六
h:小时数(0-23)
如:Format("2010-5-19:8:5", "h")=9
h:两位数表示的小时数
如:Format("2010-5-19:8:5", "hh")=09
n:分钟数(0-59)
如:Format("2010-5-19:8:5", "n")=8
nn:两位数表示的分钟数(00-59)
如:Format("2010-5-19:8:5", "nn")=08
s:秒数(0-59)
如:Format("2010-5-19:8:5", "s")=5
ss:两位数表示的秒数(00-59)
如:Format("2010-5-19:8:5", "ss")=05
ttttt:标准时间,当小时数小于10时不带0,与h:mm:ss 或h:nn:ss 相同
如:Format("2010-5-19:8:5", "ttttt")=9:08:05
AM/PM:显示当前为AM或PM
如:Format("2010-5-111:59:59", "AM/PM")=AM
Format("2010-5-112:0:0", "AM/PM")=PM
A/P:显示当前为A或P
与 AM/PM 一样,这里不再举例。
说明:
可以多种格式联合使用,如:
Format("2010-5-1 9:8:5", "dddddd aaaa")=2010年5月1日星期六
三、文本格式
@:匹配位置插入格式化文本,如:
在"abcde"前插入文本"X",代码为:Format("abcde","X@")=Xabcde
在"abcde"第1位字符后面插入文本"X",代码为:Format("abcde","@X")=aXbcde
在"abcde"第2位字符后面插入文本"X",代码为:Format("abcde","@@X")=abXcde
在"abcde"第3位字符后面插入文本"X",代码为:Format("abcde","@@@X")=abcXde
当点位符@比原文本字符串多时,刚在相应位置上添加空格,如:
Format("abc", "X@@@@")="X abc"
Format("abc", "X@@@@@")="X abc"
Format("t", "@@a@")=" at"(空格空格at)
与!配合可从后面截取一段文本,如:
截取"abcde"后面1个字符文本,代码为:Format("abcde","!@")=e
截取"abcde"后面2个字符文本,代码为:Format("abcde","!@@")=de
截取"abcde"后面3个字符文本,代码为:Format("abcde","!@@@")=cde
截取"abcde"后面两位,并在前面添加"XY",代码为:Format("abcde","!XY@@")=XYde
&:字符占位符,与@基本相同
<:强制将所有字符以小写格式显示。
如:Format$("I LoveYou", "<")=i love you
>:强制将所有字符以大写格式显示。
如:Format$("ILove You", ">")=I LOVE YOU
㈧ 如何用函数或VBA来实现B列单元格货币格式等于A列
当要自动生成的数据数量较多,或者需要输入变量来确定生成多少重复数据的时候,公式就显得捉襟见肘了 建议使用vba来实现 1、原始数据界面 A列数据可以根据需求来增加 2、在表格内增加按钮,并添加宏 3、代码及注释 Sub 按钮1_Click() Application.ScreenUpdating = False '关闭刷屏 arr = Application.Intersect(Columns(1), [a1].CurrentRegion) '获取第一列有效数据 a = Application.InputBox("请输入数字:", "输入", 1, , , , , 2) '弹出窗口,提示输入重复次数 r = 1 For j = 1 To UBound(arr) '遍历A列数据,并生成相应数量的重复项 Cells(r, 2).Resize(a).Value = arr(j, 1) r = r + a Next j Application.ScreenUpdating = TrueEnd Sub 4、运行结果,根据提示输入重复次数为4
㈨ excel 单元格中带货币符号的数据, VBA如何读出所有小数位数
读取数据跟小数位数有关系?那你只要把那个变量类型设为Double或Long型数据,就能完整读取了,建议用Longg型
㈩ 在WORD中怎样用VBA将人民币大写金额转换成小写金额
先把阿拉伯数字拖蓝,然后在“插入”--“数字”--下拉“壹、贰、叁、、”就可以了!