【VBA学习】常用到的VBA方法
-
占坑~
因为每次都去外置大脑查很麻烦,不如先记下来~
'避免每次都要写Sheet1或者ActiveSheet的方法 with Sheet1 'Sheet1.cells =>.cells,不用再加Sheet1了 .Cells(1,1) = 1 end with '删除范围,我的意思是删除!!!就是excel里这一行/列没了,一般不要用这个 range("A:A").Delete '清除内容,注意是所有内容!包括格式啊背景啊什么的,一般也不要用,除非redo格式的时候 range("A:A").Clear '删除数据,就是把表格里填的东西删除,常用 range("A:A").ClearContents '使用explorer.exe(注意这玩意后面有个空格!)打开当前表格相对路径下的某个文件夹 Shell "explorer.exe " & ThisWorkbook.Path & "\2011年报表", 1 '如果稍做更改,就可以调用其他软件打开想要的东西 '使用记事本打开帮助文档 Shell "notepad.exe " & ThisWorkbook.Path & "\内容说明.txt", 1 '没试过套个变量进去,调用不同的exe打开不同的东西,有机会试试=A= '取A列最大有数据的行数 maxrow = Sheet1.Range("a65536").End(xlUp).Row '生成整数范围随机数,b>a Int(a + (b - a + 1) * Rnd()) '生成小数范围随机数,b>a (a + (b - a) * Rnd()),但这样右边是开区间,取不到b '……或者可以用整数,然后直接除……这样的话就左右都是闭区间了 '打开文件并且读取每行,主要是做一个模板。写入什么的都可以 Dim fso, sFile ’定义FileSystermObject和要打开的文件 dim fileFullPath ‘文件绝对路径,例如C:windows\文件.txt,注意是string…… Set fso = CreateObject("scripting.filesystemobject") Set sFile = fso.OpenTextFile(fileFullPath, 1) ‘1:第一行开始,只读;2:第一行开始,只写;8:最后一行开始,只写 '另外后面还有OpenTextFile(path,io,如果没有文件,是否新建,打开格式)。其中打开格式是-2:系统默认。-1:Unicode,0:ASCII Do While Not sFile.AtEndOfStream '读取到最后一行 readText = sFile.readLine Loop sFile.Close Set fso = Nothing Set sFile = Nothing