officeVBA⽤户窗体控件单元格参数的⽤法与注解⽬录
编号名称
编
号
名称
编
号
名称
编
号
名称
编
号
名称
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 =0then
'编写需要的代码满⾜何种条件后将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 =-1Then
' 如果单击了确定按钮,则问将选取的路径保存在变量中
x = .SelectedItems(1)
End If
End With
Debug.Print x
⽂件路径.Text= x'输出⽂件路径⽇志
End Sub
┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳━┳14、⽇志导出
┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻
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⾏vba做excel窗体录入教程
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、对⽂件夹中多个⽂件进⾏操作
┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻━┻
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论