• ベストアンサー

配列をテキストファイルに書き込むことは不可能でしょうか?

Sub Macro1() Dim No As Long No = FreeFile 文字列 = "1234" Open "D:\Test.txt" For Output As #No Print #No, 文字列 Close #No End Sub 上記のMacro1の文字列の書き込みは可能なのですが Sub Macro2() Dim No As Long Dim 配列 As Variant Range("a1").Value = "1☆2☆3☆4☆" No = FreeFile 配列 = Split(Range("A1").Value, "☆") Open "D:\Test.txt" For Output As #No Print #No, 配列 Close #No End Sub だと「Print #No, 配列」で「型が一致しません」とエラーになってしまいます。 テキストファイルに配列を書き込みたいのですがどうすればいいのでしょうか? よろしくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.2

For i = LBound(配列) To UBound(配列)  Print #No, 配列(i) Next i などとすれば、書き出せます。 For Eachとか Whileとかいろいろ書き方はあると思うけど…

1hdthd
質問者

お礼

どうもありがとうございました。書き込めました!

その他の回答 (2)

  • DOUGLAS_
  • ベストアンサー率74% (397/534)
回答No.3

お示しの例でしたら、 配列 = Split(Range("A1").Value, "☆") の部分を 配列 = Replace(Range("A1").Value, "☆", vbCrLf) とか 配列 = Replace(Range("A1").Value, "☆", ",") にすればよいのでは?

1hdthd
質問者

お礼

どうもありがとうございました。たくさんの方法があるのですね! 勉強になります。

  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.1

Sub try() Dim No As Long Dim 配列 As Variant Range("a1").Value = "1☆2☆3☆4☆" No = FreeFile Open "D:\Test.txt" For Output As #No For Each 配列 In Split(Range("A1").Value, "☆") Print #No, 配列 Next Close #No End Sub こうゆう事ではなくて?

1hdthd
質問者

お礼

そうです! どうもありがとうございました。

関連するQ&A