⑴ EXCEL 表格VBA命令
最好的方法就是在模版文件的打开事件中写入代码,先自动将某个固定的单元格内容加1,然后另存为到你指定的文件夹中,代码很简单:
Private Sub Workbook_Open()
With ThisWorkbook
.Sheets(1).[a1].Value = Sheets(1).[a1].Value + 1'单元格数据增加1
.Save'保存
.Sheets(1).[a1].ClearContents'清除a1单元格内容
.SaveAs "c:\" & ThisWorkbook.Name'另存为到指定路径下
End With
End Sub
⑵ EXCEL 怎么用VBA实现每隔1分钟自动执行ctrl+s(保存)命令
1、首先在电脑上鼠标右键单击任意Excel表格,在右键菜单中选择打开命令。
⑶ 5.3 Excel VBA的命令按钮
命令按钮(CommandButton )是应用程序中最经常使用的控件,用来控制引发某一事件,完成各种功能。命令按钮位于工具箱中,图标如图5.16所示。单击命令按钮的图标,在窗体中要添加控件的位置拖拽鼠标,即添加一个命令按钮。添加后还可以改变按钮的大小及位置,也可以利用Top. Left. Width和Height属性进行设置。
⑷ EXCEL VBA 某命令详解
创建一个对象,该对象代表保存在网页上的文档中的项目。当对 Microsoft Excel 中的文档进行了一些自动修订时,这些对象可帮助随后对网页进行的更新。返回 PublishObject 对象。
PublishObject.Add(SourceType, Filename, Sheet, Source, HtmlType, DivID, Title)
SourceType XlSourceType 类型,必需。源的类型XlSourceType 可为以下 XlSourceType 常量之一。表示源对象。
xlSourceAutoFilter 自动筛选区域。
xlSourceChart 图表。
xlSourcePivotTable 数据透视表。
xlSourcePrintArea 选定要打印的单元格区域。
xlSourceQuery 查询表(外部数据区域)。
xlSourceRange 单元格区域。
xlSourceSheet 整张工作表。
xlSourceWorkbook 工作簿。
Filename String 类型,必需。用于保存源对象的 URL(在 Intranet 或网站上)或路径(本地或网络上)。
Sheet Variant 类型,可选。保存为网页的工作表名称。
Source Variant 类型,可选。是用来标识数据项的唯一名称,而这些数据项的 SourceType 参数为下列常量之一:xlSourceAutoFilter、xlSourceChart、xlSourcePivotTable、xlSourcePrintArea、xlSourceQuery 或 xlSourceRange。如果 SourceType 为 xlSourceRange,则 Source 指定的是一个区域,该区域可以是一个已定义的名称。如果 SourceType 为 xlSourceChart、xlSourcePivotTable 或 xlSourceQuery,则 Source 指定的是图表、数据透视表或查询表的名称。
HtmlType Variant 类型,可选。用于指定数据项是保存为某个交互式的 Microsoft Office Web Component 还是静态文本和图像。可为下表所列的 XlHTMLType 常量之一。
常量 说明
xlSourceAutoFilter “自动筛选”区域
xlSourceChart 图表
xlSourcePivotTable 数据透视表
xlSourcePrintArea 选定的用于打印的单元格区域
xlSourceQuery 查询表(外部数据区域)
xlSourceRange 单元格区域
xlSourceSheet 整张工作表
ChDir 语句------改变当前的目录或文件夹
⑸ 关于 Excel VBA 添加自定义命令
添加个标准模块,把代码放进去,然后就可以在表格的公式栏使用了
假设这个函数名为 MyFunction,可以在某个单元格的公式栏输入 =MyFunction() 。这样这个单元格就可以获得你的函数的返回值了,当然,你不要试图在你的自定义函数里面更改其他单元格的值,只能读取!!!微软因为安全问题不允许在自定义函数里面更改其他值,当然啦,这个也是有变通方法的。
⑹ 如何在EXCEL的VBA命令按键代码中设定恒定的数字
Sub
Macro3()
'
'
Macro3
Macro
ActiveCell.FormulaR1C1
=
"1"
End
Sub
将该宏命令的快捷键设为
ctrl+字母
,就实现了你的功能,建议设为ctrl+L,顺手。
如果想改换内容,就把“1”的1换成其他内容。
⑺ 在excel中如何使用vba命令实现批量删除指定名称的工作表
按Alt
+
F11,双击ThisWorkbook,粘贴下面的代码:
Sub
ouyangff()
On
Error
Resume
Next
Application.DisplayAlerts
=
False
For
i
=
2
To
[g65536].End(3).Row
a$
=
Cells(i,
7)
Sheets(a$).Delete
Next
Application.DisplayAlerts
=
True
End
Sub
按Alt
+
F11,回到你的画面所示的“表”中!
按Alt
+
F8,确定!
去试一试吧!!!
⑻ 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]
自定义的数据类型
相当于C语言的struct,例如:[2]
Type 自定义类型名 元素名 As 类型 … [元素名 As 类型] End Type
数组
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]
常量
编辑
系统定义常量
系统定义常量有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]
关键字变量名 AS数据类型
关键字变量1,变量2 ... 变量n AS数据类型
关键字变量1 AS数据类型,变量2 As数据类型, ... ,变量n AS数据类型
在第二种语法格式中, “变量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]
变量名=数据
变量1=变量2 运算符 数据
变量1=变量2 运算符 变量3 … 运算符 变量n
如果在定义变量时指定了变量的数据类型,则为变量所赋的值也必须是该数据类型的值。如果变量定义为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]
表达式例: "A"
用逗号分隔的一组枚举表达式例:2,4,6,8
表达式1 To表达式2 例:60 To 100
Is关系运算符表达式 例:Is < 60
Do...Loop 语句
1For...Next语句
1For Each … Next语句
1跳出本次循环的continue语句
1With语句
1On Error语句
1或
1具有控制作用的函数
If(条件式,表达式1,表达式2)[5]
Switch(条件式1,表达式1,[条件式2,表达式2[,...,条件式n,表达式n]])
Choose(索引式,选项1[,选项2,...[,选项n]]) '这是基于1的索引
其他语句
编辑
注释语句
使用REM或者单引号开始的行。[6]
语句的连写与续行
如果一行包括多条语句,用冒号分割各个语句。跨多行的语句,在行末用“空格加下划线”表示续行[6]。
过程与函数
编辑
12可以是Private、Public、Friend、Static等修饰。[6]
调用函数/过程时,可以加括号或者不加括号。如果调用表达式作为一行的一部分,那么必须用参数,例如函数调用的返回值赋给变量。 调用过程时, 可以使用/不使用call关键字。使用call语句调用过程,如果无参数,则不加括号;如果有参数,必须加括号。如果调用时用括号包住单个参数,则该参数强行按值传递。需要特别注意,不用call不加括号的调用,形参与实参是传值(passed by value)而不是传引用(passed by reference),这会导致一些对象的方法调用失败。例如:[6]
1常用内置函数
编辑
VBA的常用内置函数:[5]
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]
⑼ excel vba命令怎么弄
1、range("f2).resize(range("f50000").end(xlup).row-1,1)
2、ISNUMBER(值)
3、没明白
4、if ISNUMBER(值)=false then
msgbox "不是数字"
endif