|
本帖最后由 lijian8003 于 2015-10-16 20:19 编辑
下列VBA是将excel一列数据导入txt,共有702列,如何用 For y = 1 To 702 合并成一个?
Sub 导出1()
Dim i&, j%, k, s, arr
arr = Sheets("参数").UsedRange
Open "d:\分解\参数\" & "0001.txt" For Output As #1
For i = 1 To 1470
s = ""
For j = 1 To 1 '假设数据区域有多列
s = s & vbTab & arr(i, j)
Next
Print #1, Mid(s, 2)
Next
Close #1
End Sub
Sub 导出2()
Dim i&, j%, k, s, arr
arr = Sheets("参数").UsedRange
Open "d:\分解\参数\" & "0002.txt" For Output As #1
For i = 1 To 1470
s = ""
For j = 2 To 2 '假设数据区域有多列
s = s & vbTab & arr(i, j)
Next
Print #1, Mid(s, 2)
Next
Close #1
End Sub
Sub 导出3()
Dim i&, j%, k, s, arr
arr = Sheets("参数").UsedRange
Open "d:\分解\参数\" & "0003.txt" For Output As #1
For i = 1 To 1470
s = ""
For j = 3 To 3 '假设数据区域有多列
s = s & vbTab & arr(i, j)
Next
Print #1, Mid(s, 2)
Next
Close #1
End Sub
......
Sub 导出702()
Dim i&, j%, k, s, arr
arr = Sheets("参数").UsedRange
Open "d:\分解\参数\" & "0702.txt" For Output As #1
For i = 1 To 1470
s = ""
For j = 702 To 702 '假设数据区域有多列
s = s & vbTab & arr(i, j)
Next
Print #1, Mid(s, 2)
Next
Close #1
End Sub- Sub 导出()
- Dim i&, j%, k, s, arr
- arr = Sheets("参数").UsedRange
- For x = 1 To 702
- Open "d:\分解\参数" & Right("000" & x, 4) & ".txt" For Output As #1
- For i = 1 To 1470
- s = ""
- For j = x To x '假设数据区域有多列
- s = s & vbTab & arr(i, j)
- Next
- Print #1, Mid(s, 2)
- Next
- Next
- Close #1
- End Sub
复制代码 自己写了一个代码,显示错误。如何修改?
Sub test()
Dim j
For j = 1 To 702
Call 导出1(j)
Next j
End Sub
Sub 导出1(j)
Dim i&, k, s, arr
arr = Sheets("参数").UsedRange
Open "d:\分解\参数\" & Format(j, "0000") & ".txt" For Output As #1
For i = 1 To 1470
s = ""
' For j = 1 To 1 '假设数据区域有多列
s = s & vbTab & arr(i, j)
' Next
Print #1, Mid(s, 2)
Next
Close #1
End Sub
如果内循环j只运行1次,可不必循环
|
|