質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Q&A

解決済

1回答

1719閲覧

【VBA】 streamを使用して、エクセルシートに出力したい

12356

総合スコア6

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

0グッド

0クリップ

投稿2021/09/26 12:33

編集2021/09/26 14:04

参考URLからお借りしました。
下記のコードをベースに、csvをエクセルシート上に出力したいです。
こちらのコードを利用すると、adReadLineのためセル"A1"に1行で出力になります。
元のCSVの形を崩さず出力する方法をご教示いただきたいです。
また、アクティブシートではなく可能であればSheet2に出力したいです

VBA

1ub sample2() 2  Dim i As Long 3  Dim j As Long 4  Dim strList As String 5  Dim strSplit() As String 6  Dim adoSt As New ADODB.Stream 7  i = 1 8  With adoSt 9    .Type = adTypeText 10    .Charset = "UTF-8" 11    .Open 12    .LoadFromFile ("C:\test.txt") 13    Do While Not (.EOS) 14      strList = .ReadText(adReadLine) 15      strSplit = Split(strList, ",") 16      For j = LBound(strSplit) To UBound(strSplit) 17        Cells(i, j + 1) = strSplit(j) 18      Next 19      i = i + 1 20    Loop 21    .Close 22  End With 23End Sub

1行ではなく、画像のように出力希望です
結果
参考URL

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

VBA

1Sub sample2() 2 Dim i As Long 3 Dim j As Long 4 Dim strList As String 5 Dim strSplit() As String 6 Dim adoSt As New ADODB.Stream 7 i = 1 8 With adoSt 9 .Type = adTypeText 10 .Charset = "UTF-8" 11 .LineSeparator = adLF 12 .Open 13 .LoadFromFile ("C:\test.txt") 14 Do While Not (.EOS) 15 strList = .ReadText(adReadLine) 16 strSplit = Split(strList, ",") 17 For j = LBound(strSplit) To UBound(strSplit) 18 Worksheets("Sheet2").Cells(i, j + 1) = strSplit(j) 19 Next 20 i = i + 1 21 Loop 22 .Close 23 End With 24End Sub 25

投稿2021/09/26 22:34

jinoji

総合スコア4592

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

12356

2021/09/26 22:48

ご回答ありがとうございます。 無事に動きました! もう一つだけお伺いしたいのですが、ダイアログを表示し、csvファイルを選択の際 strList = .ReadText(adReadLine) で「パラメータが間違えています」とエラー表示になります。 csvのとき、又はダイアログからファイル選択時はまた違った書き方をするのでしょうか?
jinoji

2021/09/26 23:27

ReadTextの書き方は特に変わらないと思いますので、どこか別の個所に原因があるのかもしれません。 もう一度コードを見直して、それでも原因が見つからなければ別の質問として該当コードを提示してはどうでしょう。
dmg

2021/09/26 23:43 編集

承知いたしました。 この度はありがとうございました! 恐れ入ります、携帯からベストアンサーに決定が致しかねますので後ほどベストアンサーにさせていただきます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問