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中追加一条(追加,不是覆盖),直到运行完呢?
展开
 我来答
linxiwell
2015-03-02 · TA获得超过409个赞
知道小有建树答主
回答量:1164
采纳率:46%
帮助的人:328万
展开全部
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
更多追问追答
追问

不行,还是溢出,修改了下,可以了,但是结果排版有问题,两个结果中间多了一个空行(字数超限,脚本用图片展示了):

最后的问题是,txt中两个结果中多了一个空行,不知道怎么解决。

结果:

追答
str_result = str_result & Cells(i, 1) * Cells(i, 2) 

& vbCrLf 这个不要就可以了
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式