
vba筛选出满足条件的数据导出带“|”分隔符的TXT文本文件?
网上找了一段代码自己修改了下导出的格式为空格的分隔符,能不能改成“|”分隔?,顺便问下,如果数据量大的话,代码的这种写法是不是会导致运行缓慢?,用字典的方法是不是更快!S...
网上找了一段代码自己修改了下导出的格式为空格的分隔符,能不能改成“|”分隔?,顺便问下,如果数据量大的话,代码的这种写法是不是会导致运行缓慢?,用字典的方法是不是更快!
Sub Macro1()
Dim i&, j&, s$
With Sheet1
For i = 1 To .[D65536].End(xlUp).Row
If .Cells(i, 4) = .Cells(1, 3) Then
s = s & .Cells(i, 4)
For j = 2 To 6
s = s & Chr(9) & .Cells(i, j).Text
Next
s = s & vbCrLf
End If
Next
End With
Open ThisWorkbook.Path & "\a.txt" For Output As #1
Print #1, s
Close #1
End Sub 展开
Sub Macro1()
Dim i&, j&, s$
With Sheet1
For i = 1 To .[D65536].End(xlUp).Row
If .Cells(i, 4) = .Cells(1, 3) Then
s = s & .Cells(i, 4)
For j = 2 To 6
s = s & Chr(9) & .Cells(i, j).Text
Next
s = s & vbCrLf
End If
Next
End With
Open ThisWorkbook.Path & "\a.txt" For Output As #1
Print #1, s
Close #1
End Sub 展开
展开全部
Sub Macro1()
Dim i&, j&, s$
With Sheet1
For i = 1 To .[D65536].End(xlUp).Row
If .Cells(i, 4) = .Cells(1, 3) Then
s = s & .Cells(i, 4)
For j = 2 To 6
s = s & "|" & .Cells(i, j).Text
Next
s = s & vbCrLf
End If
Next
End With
Open ThisWorkbook.Path & "\a.txt" For Output As #1
Print #1, s
Close #1
End Sub
长了慢是肯定的。
你这个只有一个条件的,不是双循环根本用不着字典。
Dim i&, j&, s$
With Sheet1
For i = 1 To .[D65536].End(xlUp).Row
If .Cells(i, 4) = .Cells(1, 3) Then
s = s & .Cells(i, 4)
For j = 2 To 6
s = s & "|" & .Cells(i, j).Text
Next
s = s & vbCrLf
End If
Next
End With
Open ThisWorkbook.Path & "\a.txt" For Output As #1
Print #1, s
Close #1
End Sub
长了慢是肯定的。
你这个只有一个条件的,不是双循环根本用不着字典。
展开全部
Chr(9)类似于Excel的CHAR函数,不过数字对应的具体内容估计大部分人不可能全部背出来吧,只是记得几个常用的,Chr(9)是tab制表符,如果想换成"|"的话可以直接把 s = s & Chr(9) & .Cells(i, j).Text 改成 s = s & " | " & .Cells(i, j).Text
相对于同一台电脑配置来说,数据越多肯定是相对会卡,具体也可以自己测试一下
相对于同一台电脑配置来说,数据越多肯定是相对会卡,具体也可以自己测试一下
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你这种方式来写可能是会有点慢。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询