vba 常用功能20140209
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、获取工作表的行数
Dim iRows As Integer
Dim iCols As Integer
'获取工作表的行数
'edRange.Rows
'根据Sheet1获取
iRows = edRange.Rows.Count
iCols = edRange.Columns.Count
'根据表格名字获取
iRows = Sheets("Sheet2").UsedRange.Rows.Count
iCols = Sheets("SSRdata").UsedRange.Columns.Count 二、创建字典
字典常用方法
方法说明
Add(key,item) 增加键/条目对到Dictionary
Exists(key) 如果指定的键存在,返回True,否则返回False Items() 返回一个包含Dictionary对象中所有条目的数组
Keys() 返回一个包含Dictionary对象中所有键的数组
Remove(key) 删除一个指定的键/条目对
RemoveAll() 删除全部键/条目对
'创建字典
Set dict = CreateObject("Scripting.Dictionary")
‘判断字典是否存在
If dict.Exists(sType) Then
'存在则面积累加
dict(sType) = CLng(dict(sType)) + iArea Else
'不存在则存入面积
dict(sType) = iArea
End If
'遍历字典
For Each key In dict.keys
Sheet2.Cells(iCurrRow, 1) = key
Sheet2.Cells(iCurrRow, 2) = dict(key)
iCurrRow = iCurrRow + 1
Next
'测试字典个数
Set dict = CreateObject("Scripting.Dictionary")
dict("1") = "1"
dict("1") = "1"
dict("1") = "1"
dict("1") = "2"
MsgBox (dict.Count & "_______" & dict("1")) '个数都是1个结果为2 即最后一个Exit Sub
三、将表格放在数组中
‘定义数组
Dim arr
arr = edRange
arr = Sheets("Sheet2").UsedRange
‘遍历数组
For i = 2 To UBound(arr)
Next
四、Excel导出Word
'定义word对象
'Dim objWordApp As New Word.Application
Set objWordApp = CreateObject("word.Application")
'一个文档
'Dim mydoc As Document
Set mydoc = CreateObject("word.Document")
'添加个文档
Set mydoc = objWordApp.Documents.Add
'下面这里设置数据
objWordApp.Visible = True
'objWordApp.Selection.ParagraphFormat.FirstLineIndent = objWordApp.CentimetersToPoints(float.Parse("0")) '//首行缩进
'这里设置样式
= "宋体" '设置字体
objWordApp.Selection.Font.Size = 12 '设置字体大小
objWordApp.Selection.ParagraphFormat.LineSpacing = 18 '//设置文档的行间距
objWordApp.Selection.TypeText Text:=”添加文档内容”
‘添加回车换行标记
objWordApp.Selection.TypeText Text:=vbCrLf
'保存文件到Excel同级目录中
mydoc.SaveAs Filename:=myFileName
mydoc.Close
objWordApp.Quit
五、常用功能
‘切换工作表
Worksheets("产量").Activate
‘清空表格内容
Cells.ClearContents
六、常用函数
小写转换大写UCase
语法:UCase (String)
字符串查找函数inStr
InStr([start, ]string1, string2[, compare])
'str2 是被搜索的字符串str1是要搜索的字符串
Dim str1, str2 As String
str1 = "123"
str2 = "212345"
'结果为2
MsgBox (InStr(str2, str1))
类型转换函数
CBool(expression) 转换为Boolean型CByte(expression) 转换为Byte型CCur(expression) 转换为Currency型CDate(expression) 转换为Date型CDbl(expression) 转换为Double型CDec(expression) 转换为Decemal型CInt(expression) 转换为Integer型CLng(expression) 转换为Long型CSng(expression) 转换为Single型CStr(expression) 转换为String型CVar(expression) 转换为Variant型Val(string) 转换为数据型
Str(number) 转换为String