确定sheet页:worksheets(“sheet1”) “sheet1”为页名称,对应写下你设置好的名称即会定位到你选择的sheet页。
确定单元格:range("$A$1")这即表明定位到A列第一行,如果想用变量来定义则可以写成range(“A”&linenum)linenum为设置的行变量。
Excel内置vba是功能非常强大以及全面的编程语言,他或许对复杂的逻辑胜任有些难度但对于日常的我们对数据的操作及清洗都可以胜任,其不仅仅可以对Excel表格内的内容进行操作,还可以对外部文件进行操作。
当前需求:有80w条数据,数据的格式为:
第a行[类型]为空,其中[ ]内的字数是不确定的,a也为任意的数字,需要把“第a行“这几个字去掉并对剩下的进行去重。
这时我们可以用文本编辑器批量进行替换,将“第”“行”以及0-9数字都替换为空即可,但是这样很麻烦且由于数据量很大导致执行速度很慢,因此我们利用vba来进行字符串的截取,上代码!
dim result,where,start
fn=freefile '设置文件号
open worksheets("sheet1").range("$F$15").text for binary as #fn '确定文件路径也可以直接输这里讲其放入了单元格
result =input(lof(fn),fn) '获取文件内容
Close #fn
Dim final() as string
final()=split(result,chr(13)) '以换行符进行切割
open "C:\desktop\result.txt" for output as #66
for each a in final()
start =instr(a,"[")
where=mid(a,start,len(a)) '定位截取
Print #66,where
Next
Close #66
以上即为切割代码,切割好后,于ue中进行批量去重(文件——排序——高级排序)即可,有什么不懂的欢迎留言一起解决哈。