office VBA 用户窗体 控件 单元格 参数的用法与注解

office VBA用户窗体 专栏收录该内容
1 篇文章 0 订阅
											目   录
编号名称编号名称编号名称编号名称编号名称
1错误类2全局变量3开关4弹窗5换行
6调试打印7引用8延时9日志窗口显示(全局文本)10调用外部软件
11按钮状态改变12调用参数13路径选择14日志导出15excle文件格式转换
16VBA隐藏表格17改变窗体外观18更改Sheet名19对文件夹中多个文件进行操作20合并单元格
21插入一行单元格22在指定单元格内输入字符23调整行高和列宽24跳转到该列最后一个数值25获取当前单元格所在的行号和列号
26格式刷(公式复用)27筛选28查找替换29单元格颜色30字符居中
31添加公式32复制某个单元格33单元格引用34单元格边框35复选框执行
36取消(退出软件)37If Else38For Next39While wend40Do Loop
41附 录:42434445
											 代   码

┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳
1、错误类
┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻

错误类:
On Error Resume Next '忽略运行过程中可能出现的错误(添加在函数的前面)

┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳
2、设置全局变量
┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻

设置全局变量:
public i '将i设置成全局变量
sub 全局变量()
end sub

┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳、
3、开关
┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻

开关:
	public i '将i设置成全局变量
	sub 点击一下开再点击一下关()
	if i = 0 then
		'编写需要的代码满足何种条件后将i置为1
		i = 1
	else
		'编写需要的代码满足何种条件后将i置为0
		i = 0
	end if
	end sub

┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳
4、弹窗
┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻

弹窗:
sub 弹窗()
	MsgBox("这里编写弹出的提示框显示内容")
end sub

┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳
5、换行
┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻

换行显示:
& chr(10)
长代码连写:
 _
If i = 1 _
Then
i = 0
End If

┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳
6、调试打印
┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻

打印参数值:
Debug.print *'*为变量、引用值、固定字符等

┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳
7、引用
┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻

引用:
x = 1
msgbox("这是要引用值x显示的地方") & x’文本后引用
MsgBox ("文件执行" & x & "日志已导出到")'这是中间引用

┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳
8、延时
┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻

延时:
Application.Wait Now + TimeValue("00:00:1")'最低延时为1秒

┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳
9、日志窗口显示(全局文本)
┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻

日志:
public x '将x设置成全局日志内容
sub 日志()
日志.text = "这是日志类容"'固定日志(方法1)
全局日志.text = x + "这是新日志类容"'x为之前日志类容(方法2)
x = 全局日志.text

┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳
10、调用外部软件
┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻

调用外部软件:
sub 调用外部软件()
On Error Resume Next '忽略运行过程中可能出现的错误
Set oShell = CreateObject("WSCript.shell")
ret = oShell.Run(Application.ActiveWorkbook.Path & "\调用软件名称.exe " & " 传入的参数", 0, True) 
Set oShell = Nothing
end sub

┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳
11、按钮状态改变
┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻

按钮控件状态改变:
'总窗口名称为该用户窗体最外层的背景窗口
总窗口名称.Controls("按钮控件名称").Value = False'False为关
总窗口名称.Controls("按钮控件名称").Value = True'True为开
判断复选框是否被选中:
if 总窗口名称.Controls("按钮控件名称").Value = True Then'True为选中
'这里写被选中后要执行的代码
else
'这里写没被选中时要执行的代码
End if

┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳
12、调用参数
┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻

调用参数:
调用.text = "在对应窗口显示这一段字符"'在文本窗口显示文字(调用为控件名称)

┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳
13、路径选择
┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻

路径选择:
public x '将x设置成全局路径变量
Private Sub 路径选择_Click()
Set objFD = Application.FileDialog(msoFileDialogFolderPicker)
With objFD
If .Show = -1 Then
' 如果单击了确定按钮,则问将选取的路径保存在变量中
x = .SelectedItems(1)
End If
End With
Debug.Print x
文件路径.Text = x'输出文件路径日志
End Sub

┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳
14、日志导出
┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻

导出日志txt:
public x '将x设置成全局路径变量
public i '将i设置成全局日志变量
Private Sub 日志导出_Click()
Dim Fso, Fil
日志导出.Caption = "日志已导出"'将按钮文字变成日志已导出
日志导出.Enabled = False'日志导出按钮不可编辑
Application.Wait Now + TimeValue("00:00:5")'按钮文字改变延时
myPath1 = "" & x  '导出的日志所在的文件夹路径
Set Fso = CreateObject("Scripting.FileSystemObject") '访问系统文件
Set Fil = Fso.OpenTextFile(myPath2, 8, 1) '打开文本文件
    Fil.Write i '将i中所含所有字符写入文本
    Fil.WriteBlankLines (5) '换5行
Fil.Close '关闭文本文档
日志导出.Caption = "导出日志"'将日志导出按钮文字变成导出日志
日志导出.Enabled = True'日志导出按钮不可编辑
End Sub

┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳
15、excle文件格式转换
┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻

Private Sub CSV转xlsx_Click() 'CSV转Xlsx
     Dim sDir As String
     Dim curdir As String
     curdir = "设置文件路径" '找到需要转换的文件路径
     sDir = Dir(curdir & "\*.csv")'显示文件列表
     While Len(sDir)'循环当前文件夹中文件个数
     Workbooks.Open FileName:=curdir & "\" & sDir'打开当前文件夹中符合条件的文件
     Dim temp As String'(这个定义需要在循环内部)
     temp = Left(sDir, Len(sDir) - 4)
     'Left函数从给定输入字符串的左侧返回指定数量的字符
     '语法:Left(String, Length)
     'String - 必需的参数。 输入从左侧返回指定数量的字符的字符串
     'Length - 必需的参数。 一个整数,指定要返回的字符数
     ActiveWorkbook.SaveAs FileName:=curdir & "\" & temp & ".xlsx", _
        FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False'另存为 & temp & .xlsx类型的文件
        ActiveWorkbook.Save'保存当前显示文件
        ActiveWindow.Close'关闭当前显示文件
     sDir = Dir
     Wend
End If
End Sub

┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳
16、自动打开excle中用户窗体和隐藏VBA中excle表格(只显示用户窗体)
┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻
样例

自动打开excle中用户窗体和隐藏VBA中excle表格(只显示用户窗体)
在Microsoft excle 对象中的ThisWorkbook中
Private Sub WORKBOOK_OPEN()
用户主窗体名称.Show'自动打开用户窗体
Application.Visible = False '隐藏EXCEL主窗口
End Sub

┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳
17、改变窗体外观(背景色,是否隐藏等)
┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻

改变窗体外观(背景色,是否隐藏等)
Private Sub 改变外观_Click() 
    窗体控件1.BackStyle = fmBackStyleOpaque '背景显示白色
    窗体控件2.BackStyle = fmBackStyleTransparent '背景显示为透明
    窗体控件1路径显示.BackStyle = fmBackStyleOpaque '背景显示白色
    窗体控件2路径显示.BackStyle = fmBackStyleTransparent '背景显示为透明
    窗体控件1路径显示.SpecialEffect = fmSpecialEffectSunken '路径显示背景框
    窗体控件2路径显示.SpecialEffect = fmSpecialEffectFlat '路径不显示背景框
    窗体控件1.Enabled = True '可以点击操作
    窗体控件2.Enabled = False '不可点击操作
End Sub

┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳
18、更改Sheet名
┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻

更改Sheet名
Private Sub 更改Sheet名_Click() 
Dim sDir As String
Dim curdir As String
curdir = "" & sPath1 '找到需要转换的文件路径
If Dir(curdir & "\*.csv") = "" Then'判断文件后缀
sDir = Dir(curdir & "\*.xlsx")
Else
sDir = Dir(curdir & "\*.csv")
End If
While Len(sDir)'遍历文件后依次操作
Workbooks.Open FileName:=curdir & "\" & sDir
Dim temp As String
temp = Left(sDir, Len(sDir) - 4)
ActiveWorkbook.SaveAs FileName:=curdir & "\" & temp & ".xlsx", _
    FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
    Sheets(1).Name = "Sheet1" '修改文件表的Sheet名称为Sheet1
    ActiveWorkbook.Save
    ActiveWindow.Close
sDir = Dir
Wend
End If
End Sub

┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳
19、对文件夹中多个文件进行操作
┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻

Dim sPath1 As String'定义的sPath1为全局变量
Private Sub 多文件操作_Click()
        Dim aList() As String
            curdir1 = "" & sPath1 '文件夹目录
            sDir1 = Dir(curdir1 & "\*.xlsx") '不同后缀记得替换:(csv、xlsx、xlsm)
            '可以将sDir1增加判断对不同类型的文件进行操作。
        Do While sDir1 <> 'sDir1不等于空
        If sDir1 = "" Then '用来判断文件夹中是否还存在文件,如果没有文件则跳出循环
        MsgBox ("当前文件夹中没有符合筛选条件的文件,请确认路径是否正确")
        Exit Sub'退出当前函数
        End If
                ReDim Preserve aList(0 To i) As String  '重定义数组大小
                aList(i) = sDir1 '列表a
                Workbooks.Open FileName:=curdir1 & "\" & aList(i) '打开文件
                Application.WindowState = xlMaximized '窗口最大化
                '在这里添加操作代码,例如增、删、改、查等
				ActiveWorkbook.Save
                ActiveWindow.Close
		i = i + 1
		sDir = Dir()'查找下一个目录
		Loop
	end Sub

┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳
20、单元格格式设置(合并单元格)
┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻

 Range("A1:B1").Select'单元格A1到B1
        With Selection
            .HorizontalAlignment = xlCenter '水平对齐
            .VerticalAlignment = xlCenter '垂直对齐
            .WrapText = False '文字换行(居中为True)
            .Orientation = 0 '方向(文本方向)
            .AddIndent = False '添加缩进
            .IndentLevel = 0 '缩进量(范围0-15)
            .ShrinkToFit = False '收缩到合适(自动调整)
            .ReadingOrder = xlContext '读写次序(从左往右写还是从右往左写)
            .MergeCells = False '合并单元格
        End With
        Selection.Merge'选择并合并

┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳
21、插入一行单元格
┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻

 Rows("1:1").Select'插入首行
        Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove 

┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳
22、在指定单元格内输入字符
┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻

Range("A1").Select
ActiveCell.FormulaR1C1 = "这是需要输入的字符"

┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳
23、调整行高和列宽
┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻

Rows("1:1").Select'调整第一行行高
Selection.RowHeight = 90'行高90
Columns("Z:Z").ColumnWidth = 7 '设置Z列单元格列宽为7

┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳
24、跳转到该列最后一个数值
┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻

Range("A1").Select'从A1开始
Selection.End(xlDown).Select '到有字符的最后一行,相当于按住ctlr+shift+↓
x = Selection.Row() '获取当前选择框所在的行号
y = Selection.Column() '获取当前选择框所在的列号

┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳
25、获取当前单元格所在的行号和列号
┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻

x = Selection.Row() '获取当前选择框所在的行号
y = Selection.Column() '获取当前选择框所在的列号

┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳
26、格式刷(公式快速复用)
┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻

该方法一般需要配合获取当前单元格所在的行号和列号使用
先找有数据的单元格,使用Selection.End(xlDown).Select '到有字符的最后一行,相当于按住ctlr+shift+↓方法跳转到最后一行,然后使用x = Selection.Row() '获取当前选择框所在的行号, y = Selection.Column() '获取当前选择框所在的列号。然后让单元格在需要写入公式的最后一行中写入1(1没有任何意义,只是为了让该单元格有字符)其他需要同样操作的单元格类似,然后使用下面的代码,将该列所需要复用的公式进行复用。
公式复用演示

Range("I2").Select
ActiveCell.FormulaR1C1 = "=RC[-6]-RC[-4]" '以当前单元格(I2)为坐标,用负轴(-6)单元格减去(-4)单元格(从后往前数6个格子和4个格子)
Range("J2").Select
ActiveCell.FormulaR1C1 = "= RC[-7]-RC[-4]" '以当前单元格(J2)为坐标,用负轴(-7)单元格减去(-4)单元格(从后往前数7个格子和4个格子)
Range("K2").Select
ActiveCell.FormulaR1C1 = "=RC[-8]-RC[-4]"
Range("K3").Select
Range("I2:K2").Select '选中I2,J2,K2单元格(三个连在一起全选)
Range(Selection, Selection.End(xlDown)).Select '将上面的三个全选单元格选中后按住ctlr+shift+↓到有数值的最后一行(之前写的3个1)
Selection.FillDown '按ctrl+D实现前面三个单元格同样的公式操作

┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳
27、筛选
┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻

添加筛选
            Range("A1:K1").Select '选中A1到K1
            Selection.AutoFilter '增加筛选功能
筛选条件
            Columns("E:E").Select '选择E列
            '单项筛选
            ActiveSheet.Range("$A$1:$K$" & x).AutoFilter Field:=5, Criteria1:="=" '选择5列进行筛选,筛选值为空
            '多项筛选
            ActiveSheet.Range("$A$1:$K$" & x).AutoFilter Field:=5, Criteria1:="=null", _
              Operator:=xlOr, Criteria2:="=" '选择第5列筛选值为null(Criteria1:="=null")和空白值(Criteria2:="=" )
            e = ActiveSheet.AutoFilter.Range.Columns(1).SpecialCells(xlCellTypeVisible).Count - 1 '返回筛选后的符合条件的个数

取消筛选(全选显示)
 			Columns("G:G").Select
            ActiveSheet.Range("$A$1:$K$" & x).AutoFilter Field:=7 '全选第7列筛选(取消第7列的筛选)

┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳
28、查找替换
┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻

Cells.Replace What:="null", Replacement:="", LookAt:=xlPart, SearchOrder _
    :=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False '查找并替换null值为空白(不写入任何字符)

┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳
29、单元格颜色
┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻

去除颜色
            Columns("A:K").Select'选择A列到K列
            With Selection.Interior '循环将填充颜色去除
                .Pattern = xlNone
            End With

添加颜色
Range(“L3:P3”).Select’L3到P3这些单元格添加绿色
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorAccent6
.TintAndShade = 0.799981688894314
'07***为浅绿,0.599993896298105中浅绿,0.399975585192419浓绿
.PatternTintAndShade = 0
End With

┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳
30、单元格设置(字符居中)
┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻

'这段代码是录制的,单元格格式参数如果懒得一一百度就使用录制
Columns("A:K").Select
            Selection.Borders(xlDiagonalDown).LineStyle = xlNone'选择。边框(xl对角线向下)。线条样式 = xlNone
            Selection.Borders(xlDiagonalUp).LineStyle = xlNone'选择。边框(xl对角线向上)。线条样式 = xlNone
            With Selection.Borders(xlEdgeLeft)
                .LineStyle = xlContinuous
                .ColorIndex = xlAutomatic
                .TintAndShade = 0
                .Weight = xlThin
            End With
            With Selection.Borders(xlEdgeTop)
                .LineStyle = xlContinuous
                .ColorIndex = xlAutomatic
                .TintAndShade = 0
                .Weight = xlThin
            End With
            With Selection.Borders(xlEdgeBottom)
                .LineStyle = xlContinuous
                .ColorIndex = xlAutomatic
                .TintAndShade = 0
                .Weight = xlThin
            End With
            With Selection.Borders(xlEdgeRight)
                .LineStyle = xlContinuous
                .ColorIndex = xlAutomatic
                .TintAndShade = 0
                .Weight = xlThin
            End With
            With Selection.Borders(xlInsideVertical)
                .LineStyle = xlContinuous
                .ColorIndex = xlAutomatic
                .TintAndShade = 0
                .Weight = xlThin
            End With
            With Selection.Borders(xlInsideHorizontal)
                .LineStyle = xlContinuous
                .ColorIndex = xlAutomatic
                .TintAndShade = 0
                .Weight = xlThin
            End With
            With Selection '循环被选中的单元格设置居中
                .HorizontalAlignment = xlCenter’水平对齐
                .VerticalAlignment = xlCenter‘垂直对齐
            End With
            HorizontalAlignment = xlCenter

┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳
31、在单元格内添加公式(SUMPRODUCT)
┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻

Range("AA3").Select
     ActiveCell.FormulaR1C1 = _
        "=SUMPRODUCT((R2C9:R" & x4 - dy & "C9>-1)*(R2C9:R" & x4 - dy & "C9<1))"

┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳
32、复制某个单元格
┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻

Range("AB3").SelectTr
Application.CutCopyMode = True

┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳
33、单元格引用
┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻

Range("T5:AA5").Select '将表格T5至AA5
   ActiveCell.FormulaR1C1 = "=R" & x4 + 1 & "C[-12]" '上一行代码需要取值的单元格(该单元格值等于哪一个单元格值)

┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳
34、单元格边框
┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻

Selection.Merge '将表格加边框
            Range("L1:AS5").Select
            Selection.Borders(xlDiagonalDown).LineStyle = xlNone
            Selection.Borders(xlDiagonalUp).LineStyle = xlNone
            With Selection.Borders(xlEdgeLeft)
                .LineStyle = xlContinuous
                .ColorIndex = xlAutomatic
                .TintAndShade = 0
                .Weight = xlThin
            End With
            With Selection.Borders(xlEdgeTop)
                .LineStyle = xlContinuous
                .ColorIndex = xlAutomatic
                .TintAndShade = 0
                .Weight = xlThin
            End With
            With Selection.Borders(xlEdgeBottom)
                .LineStyle = xlContinuous
                .ColorIndex = xlAutomatic
                .TintAndShade = 0
                .Weight = xlThin
            End With
            With Selection.Borders(xlEdgeRight)
                .LineStyle = xlContinuous
                .ColorIndex = xlAutomatic
                .TintAndShade = 0
                .Weight = xlThin
            End With
            With Selection.Borders(xlInsideVertical)
                .LineStyle = xlContinuous
                .ColorIndex = xlAutomatic
                .TintAndShade = 0
                .Weight = xlThin
            End With
            With Selection.Borders(xlInsideHorizontal)
                .LineStyle = xlContinuous
                .ColorIndex = xlAutomatic
                .TintAndShade = 0
                .Weight = xlThin
            End With

┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳
35、复选框执行
┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻

Private Sub Checkbox1_Click()
if box1 = True and w1 = 1 Then'这里使用判断来控制复选框执行。用户只点击复选框时,复选框可以被勾选但不执行。必须要点击下面的执行按钮才能剩下执行。(这是折中方案)
'这里写入该模块的功能代码
end if
end sub

Private Sub Checkbox2_Click()
if box2 = True and w2 = 2 Then'这里使用判断来控制复选框执行。用户只点击复选框时,复选框可以被勾选但不执行。必须要点击下面的执行按钮才能剩下执行。(这是折中方案)
'这里写入该模块的功能代码
end if
end sub

Private Sub Checkbox3_Click()
if box3 = True and w3 = 3 Then'这里使用判断来控制复选框执行。用户只点击复选框时,复选框可以被勾选但不执行。必须要点击下面的执行按钮才能剩下执行。(这是折中方案)
'这里写入该模块的功能代码
end if
end sub

Pubilc w1, w2, w3'定义三个全局变量
Private Sub 执行_Click() '
j = "" '初始化为空
For m = 1 To 3 '开始循环,有几个复选框选项则写几。该项目中有3个选项所以写3
    If 用户主窗体名称.Controls("Checkbox" & m).Value = True Then '如果复选框被选中(""&m)引号给的是复选框名字
    If m = 1 Then
    box1 = True
    End If
    If m = 2 Then
    box2 = True
    End If
    If m = 3 Then
    box3 = True
    End If
    If j = "" Then '并且字符串当时为空
    j = 用户主窗体名称.Controls("Checkbox" & m).Caption '就将复选框的名字即j存放到char中
    Else: j = j & "," & 用户主窗体名称.Controls("Checkbox" & m).Caption '如果字符串已经有个1或2或3了,那么将新的内容用逗号与字符串中已经有的值连接起来
    End If
    End If
    Next
    if box1 = True Then'如下注释1
     用户主窗体名称.Controls("Checkbox1").Value = False'将Checbox1变成去勾选状态
     w1 = 1'将w1赋值为1
     用户主窗体名称.Controls("Checkbox1").Value = True'将Checbox1变成勾选状态
     w1 = 0'将w1赋值为1
     end if
     '注释1:这里之所以这样写是没有找到勾选复选框时不执行,只有点执行时才会执行的办法,所以选择了
     '折中先判断复选框是否被勾选了,如果勾选了将下面的box置为True。然后在所有的条件判断完成后再
     '将已被勾选的窗体去勾选,由于不满足执行条件,该控件下的代码不会执行,紧接着将w赋值后再将窗体
     '勾选,这样控件执行的条件满足后就能够正常执行控件下面的代码。而去勾选和再勾选的过程因为时间极
     '短用户基本无感知。也可以不用该方法直接把代码放在执行模块下面直接执行。(技术有限,勿喷)

┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳
36、取消(退出软件)
┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻

Unload Me'退出软件

┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳
37、If Else
┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻

sub ifelse()
i = 0
If i = 0 Then
i = 1'这里编写需要执行的代码
ElseIf i = 1 Then
i = 2'这里编写需要执行的代码
Else
i = 0'这里编写需要执行的代码
End If

┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳
38、For Next
┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻

Sub forNext()
Dim i%, j%
For i = 1 To 10
j = j + i
Next
MsgBox j
End Sub

┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳
39、While wend
┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻

i = 0
while i < 10
i = i + (i+1)
wend

┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳
40、Do Loop
┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻

当条件成立,开始循环:
sub Do()
Dim i%
Do While i<3
    i = i + 1
    MsgBox i
Loop
End Sub
直到条件成立,跳出循环:
sub Dountil()
i  = 0
Do Until i > 10:
	i = i+1
Loop
msgbox("")  & i

														  附     录:

不同Sub含义:
Public 表示 Sub 过程可被所有其他地方引用。和Sub性质一致,等价于Sub。
Private 表示 Sub 过程只能被当前页或者窗体引用,所以只能在本模块内部可以访问。


变量或字符串类型:
Variant:变体型变量(类型可变),能够表除了定长string数据和用户自定义类型外可以包含任何种类的 数据,也可以包含empty、error、nothing、null等特殊值。使用该类型定义会导致代码执行时间变长。非必要时不要用。
String:字符串类型。
integer:整数(范围:-32768~32768)
integer1:初始化是一个Variant类型的空值,随着对其的操作变成任意类型。
integer2:会被正常的初始化为0。
Dim integer1 as interger,integer2 as integer’这样1和2都为空值
Long:长整型(范围:-214743648 ~ 214743648)
Single 和 Double:单精度浮点数(Single) 和双精度浮点数(Double)
Currency:货币型
Byte:字节型
Boolean:布尔型(表示逻辑值True或False)
Date:日期(范围100年 ~ 9999年,0:00:00 ~ 23:59:59)
object:对象型。利用set语句,声明为对象型的变量可以赋值为任何对象引用
枚举型:

Public Enum words 'Pubilc(公共)或Private(私有)
    中国
    英国
    美国
    法国
End Enum
Sub ad()
	Dim from As words
	from = 英国
	from = 法国
End Sub

枚举型
用户自定义类型:

Type i
i as Double
End Type

  • 1
    点赞
  • 0
    评论
  • 9
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

Excel集成工具箱7.0是利用VBA(Visual Basic for Applications)语言编写的增强应用型插件。包括160个菜单功能和100个左右自定义函数,集160个工具于一身,但体积小于15MB。当安装集成工具箱后,如果您使用Excel 2003,则将产生【工具箱】菜单,包括160多个子菜单;如果您使用Excel 2007或者2010,将产生【集成】【工具箱】功能区。根据各功能的特点,对子菜单作了18个分类, 而在函数向导对话框中也生成100个左右新的函数,用于扩展Excel的计算功能。且所有功能都通用于Excel 2002、2003和2007、2010。支持中英文显示繁简体操作系统,支持Wista/Win7系统及XP界面、拥有20多款华丽的皮肤界面,支持Excel2007全面隐藏选项卡,这个插件还模拟了一个Excel2003样式的菜单,目的就是方便那些从Excel2003转向使用2007或2010版的朋友使用。 安装说明使用规则: 1.1.绿色版本安装:管理员用户运行Setup.exe进行安装程序! 运行UnSetup.exe进行反安装程序! 1.2.绿色版本安装:非管理员用户可运行Register.bat进行安装程序! 运行UnRegister.bat进行反安装程序! 2.1.若安装并使用后因误操作报错时(例如EXCEL打开后未能加载工具菜单),可以卸载后重新安装到另外不同的目录中即可恢复正常.(因微软COM的保护措施而致)! 2.2.建议每天只打开EXCEL主程序一次为宜,保持打开状态不要关闭.(文档则可任意多次打开). 3.1.由于免费标签插件ExcelTab.dll系统的兼容性问题,安装后在使用过程中若出现屏幕微小抖动或影响正常使用时,请将安装目录Librarys中的ExcelTab.dll 文件改名或删除即可! (不过出现的几率为1%左右). 或者请下载后24小时之内将其删除即可,而不会影响本工具箱的功能! 本EXCEL工具软件具有以下特点: (1)人性化设计, 可视化窗体操作, 操作更方便, 使用更简单. GB2/BIG5转换,快速取数录入功能为创新领先功能. (2)功能强大, 160多项超实用功能, 集成了许多日常操作程式及功能更实用以及独特的函数以及多个动画功能集合. (3)Windows XP豪华界面,20多款华丽皮肤界面任你选(免费使用), 支持Windows XP/Vista 及Windows 7繁简体操作系统. (4)实现Excel2003Excel2007/2010的完美兼容, VBA工程免密查看,锁定鼠标,字符加密,文件改名,修改文件时间增益功能全备. (5)多项技术创新, 实现了DLL的封装, 支持多语言显示, 支持繁简体系统. 工具文件解压后约40MB(含帮助文件). (6)EXCEL完美结合, 实现日常操作程式自动化, 是目前市场上EXCEL插件工具的首选. 本版本为正式注册版. (7)本工具软件60%的功能为永久免费使用, 注册版本享有永久免费及全部功能并能赠送额外皮肤包以及免费升级服务. (8)功能强大且超级实用,各项功能也实际工作息息相关, 20多款华丽的界面, 操作的简便, 数据处理的高效. 本工具箱160个菜单工具的功能介绍如下: 分类: 功能名称: 功能介绍: 繁简转换 【简体转繁体】 将选中区域存储格的简体字批量转换成繁体。 【繁体转简体】 将选中区域存储格的繁体字批量转换成简体。 【综合计算显示】 综合计算并显示选中区域存储格的最大值、最小值、平均值、求和、存储格个数、筛选状态下的的加总求和,以及显示选区包含的数字、字符、汉字的个数等信息。 【GB2转BIG5】 将选中区域存储格的简体字(GB2)批量转换成繁体操作系统的繁体(BIG5)。 【BIG5转GB2】 将选中区域存储格的繁体字(BIG5)批量转换成简体操作系统的简体(GB2)。 完 美 背 景 着 色 【选区背景】 默认启动智能着色方式,此功能会清除一部分背景颜色,但对工作表中的条件格式会作完全保留,丝毫没有影响。最大的特点是支持屏幕行列捲轴的操作而不影响显示。 【选区背景选择】 进行着色功能切换,支持行着色、列着色、行列同时着色、智能着色、选区着色、反向着色共6种方式供选择,可以自定义56种基本及颜色板任意着色颜色。 【条件背景】 默认启动智能着色方式,此功能不会清除背景颜色,但会对工作表中的条件格式作自动清除。最大的特点是支持屏幕行列捲轴的操作而不影响显示。 【条件背景选择】 进行着色功能切换,支持行着色、列着色、行列同时着色、智能着色、选区着色、反向着色共6种方式供选择,可以自定义56种基本及颜色板任意着色颜色。
EXCEL集成工具箱V8.0 多国语言版(2003-2010通用)增强版! * 软件大小: 22.90MB * 软件授权: 免费共享软件 * 软件语言: 多国语言[中文繁体/简体/英文] * 开 发 商: 创思维软件工作室 * 更新时间: 2010-09-22 * 应用平台: Win9X/Win2000/WinXP/Win2003/Vista/Wind7 Excel集成工具箱8.0是利用VBA(Visual Basic for Applications)语言编写的增强应用型插件。包括160个菜单功能和100个左右 自定义函数,集160个工具于一身,但体积小于16MB。当安装集成工具箱后,如果您使用Excel 2003,则将产生【工具箱】菜单, 包括160多个子菜单;如果您使用Excel 2007或者2010,将产生【集成】【工具箱】功能区。根据各功能的特点,对子菜单 作了18个分类, 而在函数向导对话框中也生成100个左右新的函数,用于扩展Excel的计算功能。且所有功能都通用于 Excel 2002、2003和2007、2010。支持中英文显示繁简体操作系统、拥有20多款华丽的皮肤界面,支持Excel2007全面 隐藏选项卡,这个插件还模拟了一个Excel2003样式的菜单,目的就是方便那些从Excel2003转向使用2007或2010版的朋友使用。 ============================================================================================ 下载地址(集成工具箱本身3.84MB,解压后超过16MB,不含帮助文件): 网盘下载:http://www.brsbox.com/jackeyliang(含帮助,解压超过50MB) 共享资料下载: http://ishare.iask.sina.com.cn/f/10201782.html EXCEL集成工具箱V8.0完整增强版.rar 多特软件站下载: http://www.duote.com/soft/1495.html EXCEL集成工具箱V8.0完整版.rar (22.90MB) 非凡软件站下载: http://www.crsky.com/soft/22056.html EXCEL集成工具箱V8.0完整版.rar (22.90MB) 绿色软件站下载: http://soft.syue.com/soft/98/99/2010/2010081491963.html EXCEL集成工具箱V7.0完整版.rar (19.42MB) 软件屋下载: http://soft.softhouse.com.cn/software/show/76357.html EXCEL集成工具箱V7.0完整版.rar 大观软件站下载: http://guansky.com/soft/html/15828.html EXCEL集成工具箱V7.0完整版.rar IT资讯平台下载: http://download.it168.com/547/1483/index.shtml EXCEL集成工具箱V7.0完整版.rar ============================================================================================= 本工具箱160个菜单工具的功能介绍如下: 分类 功能名称 功能介绍 繁简转换 【简体转繁体】 将选中区域存储格的简体字批量转换成繁体。 【繁体转简体】 将选中区域存储格的繁体字批量转换成简体。 【综合计算显示】 综合计算并显示选中区域存储格的最大值、最小值、平均值、求和、存储格个数、筛选状态下的的加总求和,以及显示选区包含的数字、字符、汉字的个数等信息。 【GB2转BIG5】 将选中区域存储格的简体字(GB2)批量转换成繁体操作系统的繁体(BIG5)。 【BIG5转GB2】 将选中区域存储格的繁体字(BIG5)批量转换成简体操作系统的简体(GB2)。 完 美 背 景 着 色 【选区背景】 默认启动智能着色方式,此功能会清除一部分背景颜色,但对工作表中的条件格式会作完全保留,丝毫没有影响。最大的特点是支持屏幕行列捲轴的操作而不影响显示。 【选区背景选择】 进行着色功能切换,支持行着色、列着色、行列同时着色、智能着色、选区着色、反向着色共6种方式供选择,可以自定义56种基本及颜色板任意着色颜色。 【条件背景】 默认启动智能着色方式,此功能不会清除背景颜色,但会对工作表中
Excel VBA语法应用辞典 内容提要 VBA技术为Excel办公用户提供了面向对象的程序设计方法,以及相当完整的程序设计语言。通过Visual Basic编辑器,用户可以轻松地将一些日常工作转换为VBA程序代码,使工作更加自动化,直接提高工作效率。《Excel VBA语法应用辞典》以辞典的形式对Microsoft Excel 2007 VBA进行了详细介绍,包括Excel VBA语法详解和高效办公应用的相关知识,通过实例剖析309个VBA语法知识,解析216个语法代码错误提示。每个实例的关键语法和代码都有详细注解,让读者真正领悟代码的意义和实际应用方法。《Excel VBA语法应用辞典》由浅入深分类讲解,小开本大容量,色彩鲜艳,方便读者随时学习查阅。 Excel VBA语法应用辞典 目录 Chapter 01 Excel 2007 VBA新功能基础知识  1-1 Excel 2007 VBA的新功能  1-2 Excel VBA概述  1-3 VBA的构成要素  1-4 Visual Basi 汇编辑器  1-5 工程资源管理器的操作  1-6 调试  1-7 辅助功能 Chapter 02 Excel VBA语法基础  2-1 变量  2-2 常量  2-3 运算符  2-4 函数  2-5 VBA流程控制  2-6 使用对话框  2-7 错误处理  2-8 数组 Chapter 03 单元格的基本操作     3-1 单元格的选取  3-2 单元格格式设置  3-3 单元格的编辑 Chapter 04 工作簿的管理  4-1 工作簿操作  4-2 工作表操作  4-3 窗口操作 Chapter 05 函数的应用  5-1 日期时间函数的应用  5-2 字符串函数的应用  5-3 其他常用函数的应用 Chapter 06 数据处理  6-1 数据的基本操作  6-2 数据的高级操作  6-3 数据透视表和透视图的操作 Chapter 07 图形图表的处理  7-1 图形处理  7-2 艺术字的制作  7-3 图表处理 Chapter 08 数据的分析  8-1 数据处理  8-2 模拟运算表  8-3 规划求解  8-4 方案分析 Chapter 09 自定义用户窗体控制项  9-1 用户窗体的设计  9-2 窗体的对应事件设置  9-3 控件的属性设置 Chapter 10 外部程序的协作  10-1 导入/导出文本文件  10-2 Office组件的协作 Chapter 11 打印页面设置  11-1 打印  11-2 页面设置 Chapter 12 文件及文件夹管理  12-1 文件管理  12-2 文件夹管理 Chapter 13 其他常见操作  13-1 表格的创建格式设置  13-2 事件  13-3 自动运行命令栏创建 附录A 本书语法索引(按字母顺序查询) 附录B 常用Excel 2007内置函数的功能及语法说明
©️2021 CSDN 皮肤主题: 深蓝海洋 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值