excel用VBA脚本将计算结果保存在外部txt文件中
如图,将A列和B列相乘的结果保存在外部a.txt中,代码如下:Suba()Dimstr_resultAsStringDimaAsLonga=InputBox("请输入最后...
如图,将A列和B列相乘的结果保存在外部a.txt中,代码如下:
Sub a()Dim str_result As StringDim a As Longa = InputBox("请输入最后一行的行号")Dim i%Doi = i + 1 If i > a Then Exit Do Else str_result = str_result & Cells(i, 1) * Cells(i, 2) & vbCrLf End IfLoop
Open "D:\a.txt" For Output As #1 Print #1, str_result '在TXT里输入 Close #1 '关闭 MsgBox "文件a.txt已保存在D:\a.txt中"End Sub
但是现在有个问题,这个脚本是把所有相差的结果都运行完,然后保存在变量str_result里,在将str_result的数据保存在txt文件中。上面的几十行数据用这个脚本没有问题,但是实际操作有几万甚至十几万条数据,运行脚本会数据溢出。如何实现运行一条数据就在txt保存一条,运行下一条就在txt中追加一条(追加,不是覆盖),直到运行完呢? 展开
Sub a()Dim str_result As StringDim a As Longa = InputBox("请输入最后一行的行号")Dim i%Doi = i + 1 If i > a Then Exit Do Else str_result = str_result & Cells(i, 1) * Cells(i, 2) & vbCrLf End IfLoop
Open "D:\a.txt" For Output As #1 Print #1, str_result '在TXT里输入 Close #1 '关闭 MsgBox "文件a.txt已保存在D:\a.txt中"End Sub
但是现在有个问题,这个脚本是把所有相差的结果都运行完,然后保存在变量str_result里,在将str_result的数据保存在txt文件中。上面的几十行数据用这个脚本没有问题,但是实际操作有几万甚至十几万条数据,运行脚本会数据溢出。如何实现运行一条数据就在txt保存一条,运行下一条就在txt中追加一条(追加,不是覆盖),直到运行完呢? 展开
1个回答
展开全部
Sub a()
Dim str_result As String
Dim a As Integer '防止溢出错误
a = InputBox("请输入最后一行的行号")
Dim i As Integer '防止溢出错误
Do
i = i + 1
If i > a Then
Exit Do
Else
str_result = str_result & Cells(i, 1) * Cells(i, 2) & vbCrLf
End If
Loop
Open "D:\a.txt" For Append As #1 '可以追加记录
Print #1, str_result '在TXT里输入
Close #1 '关闭
MsgBox "文件a.txt已保存在D:\a.txt中"
End Sub
Dim str_result As String
Dim a As Integer '防止溢出错误
a = InputBox("请输入最后一行的行号")
Dim i As Integer '防止溢出错误
Do
i = i + 1
If i > a Then
Exit Do
Else
str_result = str_result & Cells(i, 1) * Cells(i, 2) & vbCrLf
End If
Loop
Open "D:\a.txt" For Append As #1 '可以追加记录
Print #1, str_result '在TXT里输入
Close #1 '关闭
MsgBox "文件a.txt已保存在D:\a.txt中"
End Sub
更多追问追答
追答
str_result = str_result & Cells(i, 1) * Cells(i, 2)
& vbCrLf 这个不要就可以了
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询