| 
    
     |  | ▼ichinose さん: 度々すみません。質問する時にひとつ間違っていました。下記の「test6  A1からAM1にデータ」と書きましたが、実際には列数はA〜AM列に限定してデータはあるのですが、データ行は不確定です。1行に場合も有りますし、50行になる場合もあります。
 「With Worksheets("test" & idx)
 myarray = Application.Transpose(Application.Transpose( _
 .Range(.Cells(1, 1), .Cells(1, .Columns.Count).End(xlToLeft)).Value))
 End With」の最後の「Cells(1,」の部分はどのように変数を組み合わせて記述すればいいのでしょうか?本当に申し訳ありません。ちなみに、A列は、どの行も数値(22007041)が必ず入力されています。宜しくお願いいたします。
 
 
 >>下記の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
 >
 >
 >'=================================
 >Sub main2()
 >  Dim idx As Long
 >  Dim myPath As String
 >  Dim N As Integer
 >  Dim myarray As Variant
 >  myPath = ThisWorkbook.Path & "\test.csv"
 >  N = FreeFile
 >  Open myPath For Output As #N
 >  For idx = 1 To 6
 >    With Worksheets("test" & idx)
 >     myarray = Application.Transpose(Application.Transpose( _
 >           .Range(.Cells(1, 1), .Cells(1, .Columns.Count).End(xlToLeft)).Value))
 >     End With
 >    If TypeName(myarray) <> "Variant()" Then
 >     '配列でない場合、強制的に配列を作成する
 >     myarray = Array(myarray)
 >     End If
 >    Print #N, Join(myarray, ",")
 >    Next
 >  Close #N
 >End Sub
 >
 >これで試してみてください。
 
 |  |