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

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

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

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

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

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

开关:public i '将i设置成全局变量sub 点击一下开再点击一下关()if i = 0 then'编写需要的代码满足何种条件后将i置为1i = 1else'编写需要的代码满足何种条件后将i置为0i = 0end ifend 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转XlsxDim sDir As StringDim curdir As Stringcurdir = "设置文件路径" '找到需要转换的文件路径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 = DirWend
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:=FalseSheets(1).Name = "Sheet1" '修改文件表的Sheet名称为Sheet1ActiveWorkbook.SaveActiveWindow.Close
sDir = Dir
Wend
End If
End Sub

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

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

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

 Range("A1:B1").Select'单元格A1到B1With Selection.HorizontalAlignment = xlCenter '水平对齐.VerticalAlignment = xlCenter '垂直对齐.WrapText = False '文字换行(居中为True).Orientation = 0 '方向(文本方向).AddIndent = False '添加缩进.IndentLevel = 0 '缩进量(范围0-15).ShrinkToFit = False '收缩到合适(自动调整).ReadingOrder = xlContext '读写次序(从左往右写还是从右往左写).MergeCells = False '合并单元格End WithSelection.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到K1Selection.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").SelectActiveSheet.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 = xlNoneEnd 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").SelectSelection.Borders(xlDiagonalDown).LineStyle = xlNone'选择。边框(xl对角线向下)。线条样式 = xlNoneSelection.Borders(xlDiagonalUp).LineStyle = xlNone'选择。边框(xl对角线向上)。线条样式 = xlNoneWith Selection.Borders(xlEdgeLeft).LineStyle = xlContinuous.ColorIndex = xlAutomatic.TintAndShade = 0.Weight = xlThinEnd WithWith Selection.Borders(xlEdgeTop).LineStyle = xlContinuous.ColorIndex = xlAutomatic.TintAndShade = 0.Weight = xlThinEnd WithWith Selection.Borders(xlEdgeBottom).LineStyle = xlContinuous.ColorIndex = xlAutomatic.TintAndShade = 0.Weight = xlThinEnd WithWith Selection.Borders(xlEdgeRight).LineStyle = xlContinuous.ColorIndex = xlAutomatic.TintAndShade = 0.Weight = xlThinEnd WithWith Selection.Borders(xlInsideVertical).LineStyle = xlContinuous.ColorIndex = xlAutomatic.TintAndShade = 0.Weight = xlThinEnd WithWith Selection.Borders(xlInsideHorizontal).LineStyle = xlContinuous.ColorIndex = xlAutomatic.TintAndShade = 0.Weight = xlThinEnd WithWith Selection '循环被选中的单元格设置居中.HorizontalAlignment = xlCenter’水平对齐.VerticalAlignment = xlCenter‘垂直对齐End WithHorizontalAlignment = xlCenter

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

Range("AA3").SelectActiveCell.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至AA5ActiveCell.FormulaR1C1 = "=R" & x4 + 1 & "C[-12]" '上一行代码需要取值的单元格(该单元格值等于哪一个单元格值)

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

Selection.Merge '将表格加边框Range("L1:AS5").SelectSelection.Borders(xlDiagonalDown).LineStyle = xlNoneSelection.Borders(xlDiagonalUp).LineStyle = xlNoneWith Selection.Borders(xlEdgeLeft).LineStyle = xlContinuous.ColorIndex = xlAutomatic.TintAndShade = 0.Weight = xlThinEnd WithWith Selection.Borders(xlEdgeTop).LineStyle = xlContinuous.ColorIndex = xlAutomatic.TintAndShade = 0.Weight = xlThinEnd WithWith Selection.Borders(xlEdgeBottom).LineStyle = xlContinuous.ColorIndex = xlAutomatic.TintAndShade = 0.Weight = xlThinEnd WithWith Selection.Borders(xlEdgeRight).LineStyle = xlContinuous.ColorIndex = xlAutomatic.TintAndShade = 0.Weight = xlThinEnd WithWith Selection.Borders(xlInsideVertical).LineStyle = xlContinuous.ColorIndex = xlAutomatic.TintAndShade = 0.Weight = xlThinEnd WithWith Selection.Borders(xlInsideHorizontal).LineStyle = xlContinuous.ColorIndex = xlAutomatic.TintAndShade = 0.Weight = xlThinEnd 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个选项所以写3If 用户主窗体名称.Controls("Checkbox" & m).Value = True Then '如果复选框被选中(""&m)引号给的是复选框名字If m = 1 Thenbox1 = TrueEnd IfIf m = 2 Thenbox2 = TrueEnd IfIf m = 3 Thenbox3 = TrueEnd IfIf j = "" Then '并且字符串当时为空j = 用户主窗体名称.Controls("Checkbox" & m).Caption '就将复选框的名字即j存放到char中Else: j = j & "," & 用户主窗体名称.Controls("Checkbox" & m).Caption '如果字符串已经有个1或2或3了,那么将新的内容用逗号与字符串中已经有的值连接起来End IfEnd IfNextif box1 = True Then'如下注释1用户主窗体名称.Controls("Checkbox1").Value = False'将Checbox1变成去勾选状态w1 = 1'将w1赋值为1用户主窗体名称.Controls("Checkbox1").Value = True'将Checbox1变成勾选状态w1 = 0'将w1赋值为1end 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<3i = i + 1MsgBox 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 wordsfrom = 英国from = 法国
End Sub


用户自定义类型:

Type i
i as Double
End Type

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

  1. excel数据输入窗体控件_工作表数据输入或Excel用户窗体

    excel数据输入窗体控件 If you're building an Excel workbook, in which users with basic Excel skills will ente ...

  2. vba数据类型,运算符,内置函数,循环判断语句,窗体控件

    文章目录 VBA基本数据类型 示例代码 声明常量,运算符和表达式 内置函数 代码 可视化编程 判断语句 循环语句 窗体控件,窗体的加载卸载 listbox,checkbox,combobox VBA基 ...

  3. access数据库窗体设计实验报告_来自窗体控件的数值条件(VBA)

    来自窗体控件的数值条件使用方法. 如果要根据用户的决定更改操作的_criteria_参数, 可以指定条件来自窗体上的控件. 例如,可以指定来自于含有"雇员ID"的文本框控件的 cr ...

  4. 以编程方式使用 Microsoft Office Visio 2003 ActiveX 控件(经经经经经典)

    以编程方式使用 Microsoft Office Visio 2003 ActiveX 控件 发布日期 : 12/2/2004| 更新日期 : 12/2/2004 Mark Bukovec Empir ...

  5. 使用 .NET 框架轻松开发完美的 Web 窗体控件

    作者:David S. Platt   出自:微软 本文假定您熟悉 Visual Basic .NET.C# 和 HTML 下载本文的代码: WebC.exe (274KB) 摘要 预建的自定义控件可 ...

  6. 控件-Win Forms窗体控件

    在项目开发中,界面设计是一个很重要的方面.好的界面应该使操作者容易掌握.赏心悦目,把操作看作是一种享受而不是负担.Visual C#.Net提供了丰富的控件,大大简化了界面设计过程. 在桌面应用程序中 ...

  7. C#学习(十五)——窗体控件用法大全

    C#控件及常用设计整理 1.窗体 1.1.常用属性** (1)Name属性:用来获取或设置窗体的名称,在应用程序中可通过Name属性来引用窗体. (2) WindowState属性: 用来获取或设置窗 ...

  8. 主要的窗体控件的概述

    控件是包含在窗体上的对象,是构成用户界面的基本元素.控件也是设计Windows窗体引用程序的重要工具,使用控件可以减少程序设计中大量重复性的工作,有效的提高设计效率.控件通常是用来完成特定的输入输出功 ...

  9. cxgrid 行合并单元格_【Excel VBA】如何批量撤销合并单元格?

    周末好,之前我们分享了批量合并单元格的VBA小代码,链接参考: [Excel VBA]如何批量合并相同值单元格? 天下大势合久必分.分久必合.分分合合合合分分又合合合再分分分又又合合合合合合合---- ...

最新文章

  1. 主板上来了一个新邻居,CPU 慌了!
  2. python官网下载步骤linux-CentOS 7.* 安装 python3.8.2 步骤
  3. java 打印box文件
  4. 5.USTC生命科学医学部学生会
  5. 特殊时期之下的 AI 成功“逆行”,技术繁荣生长之下的“AI隐疾”
  6. 如何注册java程序为windows服务
  7. Ajax datatype:'JSON'的error问题Status1:200,JSON格式
  8. python画彩色螺旋线_Python turtle 绘制彩色螺旋线
  9. nginx linux 系统服务,把ngnix注册为linux服务 将Nginx设置为linux下的服务
  10. Java面试中经常被问到的问题有哪些?
  11. Linux时间子系统之二:表示时间的单位和结构
  12. 毕业设计| 语音识别智能家居制作
  13. 微机原理-80386(1)
  14. vue项目静态图片不显示
  15. Internet Explorer无法打开Internet 站点的原因
  16. Linux motd详解
  17. 物理动画流体实现流程(Physically Based Fluid Animation)
  18. 站内通知 java组件,spring-aop组件详解——Advice通知
  19. java 刻度尺,jQuery实现腾讯信用界面(自制刻度尺)样式
  20. Date日期操作-年月日,时分秒获取

热门文章

  1. 淮北师范大学计算机学院闻波,淮北师范大学
  2. 阿里云CEN、AWS TGW、腾讯云CCN 产品功能对比
  3. 机器学习之如何绘制热力图
  4. 自学AE AK大神笔记003_老电影画面
  5. 应聘Morgan Stanley(转)
  6. C/C++编程学习:MD5算法代码实现
  7. quarters和modelsim实现4位计数器
  8. 【游戏逆向】某游戏球员价格列表分析
  9. 什么叫交一直一交变频电源
  10. 论文详解:The Correctness-Security Gap in Compiler Optimization