Excel 用VBA制作文件并写入
我编写了一个代码,将表格保存在excel中的“.dat”文件中,其中“.dat”文件的名称是表格的标题 表格标题下的信息应保存在顶部对应的文件中 例:Excel 用VBA制作文件并写入,excel,vba,Excel,Vba,我编写了一个代码,将表格保存在excel中的“.dat”文件中,其中“.dat”文件的名称是表格的标题 表格标题下的信息应保存在顶部对应的文件中 例: A1 B2 C3 B7 12 78 99 15 13 79 99 15 14 80 99 15 15 81 99 15 16 82 99 15 17 83 99 15 18 84 99 15 19 85 99 15 86 99 15 87 99 88 99 89 99 99 99 我要的
A1 B2 C3 B7
12 78 99 15
13 79 99 15
14 80 99 15
15 81 99 15
16 82 99 15
17 83 99 15
18 84 99 15
19 85 99 15
86 99 15
87 99
88 99
89 99
99
99
我要的是A1.dat,号码是12 13 14 15 16 17 18 19
“全部”是可以的,但当我选择“全部”时,文件中有空格和结尾,如下所示:
12
13
14
15
16
17
18
19
" "
" "
" "
" "
" "
“”
文件中没有“”,我写它们是为了强调我的文件中有空格。我不希望我的文件中有这些空格
代码如下:
Sub salvaremodule2()
Dim a As Range
Dim b As Range
Dim i As Integer
Dim k As Integer
Dim j As Integer
Dim folderPath As String
Dim file As String
Dim TextFile As Integer
If Len(Dir(ThisWorkbook.Path & "\dat-uri\", vbDirectory)) = 0 Then MkDir ThisWorkbook.Path & "\dat-uri\"
End If
folderPath = ThisWorkbook.Path & "\dat-uri\"
Set a = Application.InputBox("Referintele:", Type:=8)
For i = 1 To a.Columns.Count
file = folderPath & (a(i) + ".dat") 'titlu
Open file For Output As #1
Close #1
file = folderPath & (a(i) + ".dat") 'incarcare module in fisiere
Open file For Output As #2
For j = 2 To a.Rows.Count
Print #2, a(j, i)
Next j
Close #2
Next i
End Sub
谢谢大家! 如果我正确理解了您的代码,您可以通过打开一个输入框并通过代码写入输入框然后关闭它来写入文件?我不知道该如何利用这种技术,但您的问题是,对于每一列,
j
循环一直到a.rows.count
,而您应该只到I
列中的值的末尾。我想到了不同的方法,在编写完文件后,只选择文本或删除空行,但是我找不到代码组合。如果我正确地解决了您的问题,您需要首先循环所有列(iCol
),然后通过while.cell(iRow,iColumn)”“
循环,并在文件中写入每一行。