|
早速ありがとうございます。
教えていただいた記述では、確かにスペースが取り除かれていましたが、それを単純に繰り返したら、当然でしょうがエラーが出ました。
以下同じように、test3 から test6 としても駄目ですね? 行いたい処理のイメージを下記に記しましたが、対応方法がわかりませんので教えていただければ幸いです。宜しくお願いします。
With Worksheets("test1")
myarray = Application.Transpose(Application.Transpose( _
.Range(.Cells(1, 1), .Cells(1, .Columns.Count).End(xlToLeft)).Value))
End With
Print #N, Join(myarray, ",")
With Worksheets("test2")
myarray = Application.Transpose(Application.Transpose( _
.Range(.Cells(1, 1), .Cells(1, .Columns.Count).End(xlToLeft)).Value))
End With
Print #N, Join(myarray, ",") ← エラー箇所
下記の6シートのデータ位置は
test1 A1からG1にデータ
test2 A1にデータ
test3 B1にデータ
test4 A1からG1にデータ
test5 A1にデータ
test6 A1からAM1にデータ
CSVのイメージは(例)
1,2,3,あ,い,6,7
あ,
,3
1,2,3,あ,い,6,7
1,2,3,あ,・・・・・・2
記述した下記の構文は、当然にスペースがつきます・
Dim myPath As String
Dim N As Integer
Dim j As Integer
Dim LastRow As Long
Dim LastColumn As Integer
myPath = ThisWorkbook.Path & "C:\test.csv"
N = FreeFile
Open "test.csv" For Output As #N
With Worksheets("test1")
LastColumn = .Cells(1, Columns.Count).End(xlToLeft).Column
Print #N, .Cells(1, 1).Value;
For j = 2 To LastColumn
Print #N, ","; .Cells(1, j).Value;
Next
Print #N, ""
End With
以下、test2 から test5 があります。
With Worksheets("test6")
LastRow = .Cells(Rows.Count, 1).End(xlUp).Row
For i = 1 To LastRow
Print #N, .Cells(i, 1).Value;
For j = 2 To 39
Print #N, ","; .Cells(i, j).Value;
Next
Print #N, ""
Next
End With
Close #N
|
|