Excel VBA随笔三

在该workbook中改动保存了,就自动备份
不要使用这个另存,thisWorkbook.SaveAs "d:\data\1.xlsx"
这样当另存完之后,会自动打开该另存文件1.xlsx,当前文件就被更改为1.xlsx
要保证所有操作都在原文件上,不能影响用户操作

有个偷偷保存的的事件:
在工作簿文件中编辑:workbook -- beforeSave
thisWorkbook.savecopyas "d:\data\1.xlsx"
当点击保存的时候,会偷偷的存一个备份文件
"d:\data\1.xlsx"改成"d:\data\"&format(now(), "yyyymmddhhmmss")&".xlsx"

如果记不住,录制宏,复制代码,修改代码就可以

工作表所有函数的集合:
application.WorksheetFunction.CountA(sheet2.range("a:a"))表二a列的非空个数

WorksheetFunction.CountIf(sheet2.range("f:f"), "男")

WorksheetFunction.VLookup(sheet1.range("d9"), sheet2.range("a:b"), 5, 0)

VBA发生错误,继续执行:
错误回避:
on error resume next

针对文本:文本型数字转为数字:val(l)
文本转数字:l = l*1(乘以1)
if vba.Information.IsNumeric(l) = False or l<0 then
if IsNumeric(l) = False or l<0 then

dim i as string

分割得到的是数组:split(range("a2"), "-")(0)

自定义公式:
function zmj(str as String, str1 as string, i as Integer)
    if str = "男" then...
end function

扫描二维码关注公众号,回复: 9404518 查看本文章

function jqzf(str as String, str1 as string, i as Integer)
    jqzf == split(str,str1)(i-1)
end function


sub cjb(str as string)
...
end sub

sub test()
call cjb(sheet1.range("a1"))
end sub

将VBA加载到excel主程序中
另存为xla或xlam默认加载宏
文件,选项,快速访问工具栏,用于所有文档

新建一张表,放入变量
dim sht as worksheet
set sht = sheets.add
sht.name = "2月"

dir:
如果有该文件,返回文件名(包括后缀),没有返回空,(要注意后缀xls,xlsx)
range("a1") = dir("d:\data\heheda.xls*")

有苏州.xls和苏州.xlsx
range("a1") = dir("d:\data\苏州.xls*")返回苏州.xls
range("a2") = dir 返回苏州.xlsx
range("a2") = dir 返回空
range("a2") = dir 错误

所有文件:dir("d:\data\*.xls*")

打开文件:workbooks.open("文件地址")
dim wb as wrokbook
set wb = workbooks.open("文件地址")
。。。
wb.close

多文件合并

dim wb as wrokbook
set wb = workbooks.open("文件地址")
wb.sheets(1).copy after:=thisWorkbook.sheets(thisWorkbook.sheets.count)
thisWorkbook.sheets(thisWorkbook.sheets.count).name = split(wb.name,".")(0)
wb.close

查找公式,找不到会报错,使用set不会报错
range("d:d").find("张三").select
'range("d:d").find(range("l3")).offset(0,3)
set rng = range("d:d").find(range("l3"))
if rng is Nothing then
msgbox "找不到"

dim sht as worksheet
set sht = activesheet


 

发布了9 篇原创文章 · 获赞 1 · 访问量 2242

猜你喜欢

转载自blog.csdn.net/qq_38240938/article/details/104504798