[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『日時、改行あり文章が混在したCSVを全て文字列として貼り付け』(ひな)
お知恵をおかし下さい!
マクロで、日時、改行あり文章が混在したCSVを全て文字列として
エクセルに貼り付けたいです。
【CSV】
(日付)(時間)(名前)(改行あり文章)
※最上行はA1からD1に情報があり、貼り付け先のエクセルも
同じ配置にしたいです。
上記の項目で列数は固定ですが、行は、日によって変動いたします。
よろしくお願いいたします!
< 使用 Excel:Excel2007、使用 OS:Windows7 >
いろいろ情報足りない気はしますが、 CSVなのでカンマ区切り、文字コードSJIS、改行コードはLFと勝手に想定して・・
Sub TEST() Const CSVPath As String = "C:\TEST.csv" Dim Rec Dim buf Dim i As Long On Error Resume Next Rec = Split(CreateObject("Scripting.FileSystemObject").OpenTextFile(CSVPath).ReadAll, vbCrLf) For i = 0 To UBound(Rec) buf = Split(Rec(i), ",") Range("A" & i + 1).Resize(1, UBound(buf) + 1).NumberFormatLocal = "@" Range("A" & i + 1).Resize(1, UBound(buf) + 1).Value = buf Next i On Error GoTo 0 End Sub
でどうでしょう。
(ろっくん) 2018/12/06(木) 13:11
↓をマクロの記録をおしてから、手動で実行し、得られたコードを整理するとよいとおもいます。
(1)「データ」タブの「外部データの取り込み」リボンの「テキストファイル」を選択して「インポート」 (2)「カンマやタブなどの区切り文字によってフィールドごとに区切られたデータ」を選択して「次へ」 (3)区切り文字の「カンマ」にチェックを入れて「次へ」 (4)列のデータ形式をすべて「文字列」にして「完了」 (5)「既存のワークシート」のセル参照欄?に「=Sheet1!$A$2」のように貼付(取り込み先を設定) (6)「プロパティ」をクリックし「クエリの定義を保存する」のチェックを"外して"「OK」 (7)1つ前のウィザードにもどってるのでそのままOK (もこな2) 2018/12/06(木) 13:25
ありがとうございます!
試してみたんですが、改行している文章が次の行に移動しちゃいます。
あと、「" "」もくっついてくるので無くしたいのです。。。
(ひな) 2018/12/06(木) 14:29
ありがとうございます!
教えていただいた手順で試してみます!
(ひな) 2018/12/06(木) 14:31
>(日付)(時間)(名前)(改行あり文章) >「" "」もくっついてくるので無くしたいのです。 実際のデータでなくて結構ですので、具体的にヘッダの部分とその後の2-3行を提示してもらえませんか? (seiya) 2018/12/06(木) 14:48
(もこな2) 2018/12/06(木) 15:31
「改行あり文章」がどのようにcsvに入っているのか知りたいです。 seiyaさんも言われてましたが、何行分かサンプルのデータをご提示いただけませんか? 個人的にはもこな2さんの案に賛成ですが、ファイルがたくさんあるとかですかね? (ろっくん) 2018/12/06(木) 17:11
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.