csvに別のExcelの文章を差し込む

このQ&Aのポイント
  • Excel2016を使用して、csvファイルに別のExcelの文章を差し込みたいです。具体的には、記事タイトル内の駅名が一致する記事内のアコーディオンタグに、別のExcelの文章を表示したいです。
  • 質問者はExcel2016を使用して、csvファイルに別のExcelの文章を差し込む作業を行いたいと考えています。記事タイトル内の駅名が一致する記事内のアコーディオンタグに、別のExcelの文章を表示する方法について教えてください。
  • Excel2016を使用して、csvファイルに別のExcelの文章を差し込む方法を教えてください。具体的には、記事タイトル内の駅名が一致する記事内のアコーディオンタグに、別のExcelの文章を表示したいと考えています。
回答を見る
  • ベストアンサー

csvに別のExcelの文章を差し込む

結構、複雑な作業をExcel(マクロ)でやりたいです。 WordPressで、5000以上の駅に関する記事をインポートしてアップしようとしています。 Really Simple CSV Importerというプラグインを使うため、そのcsvファイルも完成しています。 そのcsvには、 C列に、記事タイトル(駅名が含まれている)が書かれていて、 D列に、記事内容が書かれています。 そのD列の記事内容のアコーディオンタグの中に、 別に用意した文章を差し込んでいくようにしたいです。 ※アコーディオンタグ <details> <summary>〇〇</summary> ~ここに文章を差し込んでいく~ </details>" 差し込んでいく文章は別のExcelにまとめていて、記事毎に違います。 別のExcelのA列に駅名が書かれていて、 X列にアコーディオンタグの中に差し込む文章があります。 csvのC列と別のExcelのA列を参照して、 アコーディオンタグの中にその駅記事のX列の文章を差し込むようにできるでしょうか? もしかしたら、別のExcel内にかぶるセルが複数あるかもしれません。 そのため一旦、csvのJ列に別のExcelのA列を、K列に文章を表示。 そこから数式で、アコーディオンタグの中に差し込む。 という流れなのかなと思いました。 まとめると、 csvの記事タイトル内の駅名が一致する記事内のアコーディオンタグに、 別のExcelの文章を差し込みたいということです。 csvとExcelと分かれていたり、文章になっている記事タイトルの中から参照したり、 いろいろ複雑な感じなのですが、このようなことはできますでしょうか? Excel2016です。 よろしくお願いいたします。

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

  • ベストアンサー
回答No.2

HTMLタグが入っているので、CSVファイルを読み込んで、出力すると、どうなるのかわかりませんが、 C列に、"<details> <summary>01</summary> ~~ </details>"文字列があって、K列に差し込む文章があるとします。 ここで、文字列の中に文章を挿入すると考えると難しいので、 </summary>の文字列を </summary>K列の同じ行の文字列に、置き換えると考えて、その置き換えた文字列をL列に表示させるとします。 Sub CombineColumns() Dim i As Long Dim lastRow As Long lastRow = Cells(Rows.Count, "C").End(xlUp).Row ' 最終行を取得します For i = 1 To lastRow ' C列の値の中に、K列の値を挿入して、L列に表示します Range("L" & i).Value = Replace(Range("C" & i).Value, "</summary>", "</summary>" & Range("K" & i).Value) Next i End Sub

その他の回答 (1)

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.1

個人的意見だが、 (1)こういうのは、商売上の必要なニーズでしょう。 専門業者に頼むべきでしょう。 (2)全般に、JavaScriptで処理されることが多いらしい。 エクセル(のシート)を使うからと言って、エクセルのカテに質問すべきとは限らない。  寧ろ、素人考えだが、JavaScript関連のカテに質問を出したらどうか。 (3)こうしたらという、アイデアだけでなく、丸投げの、完全に動くコードまで求めているのではないか。  ここは、ソフト作製のために、回答者を、下請け・小間使い的に使う場所ではないと思う。 (4)こういう、WEBページ更新のための、フリーソフトでもないのかな。探してみたら。 WordPressにも、更新の方法は当然用意されているのでは? == ど素人ながら、メモ帳で <html> <body> <details> <summary>交通機関とは</summary> <p>東京では交通機関は</p> <p>次のような機関があります。</p> <ul> <li>東京</li> <li>バス</li> <li>タクシー</li> <li>電車</li> </ul> </details> </body> </html> を作り、名前を付けて保存(拡張子html)。エクスプロ-ラーで、開き、プログラムから開くーEdgeを選んで読みこませると、画面に現れた。ドロップダウン的な仕組みだな。 こいいう箇所は何か所もあって、差し込むべきところが、複数箇所あると思うが、差し込むテキスト(CSV)文章との対応はどうなる(何を目印にする)のかな。

関連するQ&A

  • 文章内の指定した位置にセル内を差し込む

    AL列に6000行近く文章が記入されています。 それらの文章の中で共通しているのが、 <details> <summary>〇〇</summary> </details> というアコーディオンタグです。 その中に、AM列のセル内を差し込みたいです。 文章 ~ ~ ~ <details> <summary>〇〇</summary> AM1のセル内 </details> AL1とAM1以降の2行目も、 AL2のアコーディオンタグの中に、AM2のセル内を差し込む。 AL3とAM3というふうに、隣のセルを差し込んでいきたいです。 これは、どのようにすればできますでしょうか? よろしくお願いいたします。

  • エクセルVBAでCSVを読み込んで別ファイルにまとめたいです。

    エクセルVBA初心者の者です。 マクロの記録でできたコードをいじって、 なんとか動くものができるレベルです。 Aというフォルダに20~40行程度の内容のCSVファイルが 数百個あります。開けてみないと何行あるのかわかりません。 そのAフォルダのCSVの内容をエクセルで開いて、別のエクセルファイルの一枚のシートにまとめたいのです。 最初にCSVファイル名を一枚のシートのA列に書き出すところ まではやれたのですが、それを順番に読み込んでコピペの 流れができません。 CSVファイル名読み込み 読み込んだファイル1つめCSV開く CSVの20~40行をコピー 別のエクセルファイルのシートに貼り付け 1つめCSV閉じる ↓ 読み込んだファイル2つめCSV開く 繰り返し こういうやり方じゃない方がいいのかもわかりません。 もしかして考え方も違うのでしょうか? サンプルコード教えていただけるとありがたいです。 よろしくお願いします。

  • エクセルで特定の列だけを抽出してcsvで保存したい

    エクセルで特定の列だけを抽出してcsvで保存したい 例えば、A列:住所、B列:氏名、C列:電話番号といった3つの列がありそれぞれデータがはいっているとします(図参照)。 そしてcsvとして書き出すときにB列とC列だけを書き出したい場合どのようにすればよいでしょうか。 この場合、書き出すときにA列だけを一旦削除、などということはしたくないです。 また1列目のタイトルも書き出さないようにしたいです。 ご教授よろしくお願いいたします。

  • ExcelのVBAでCSVを読み込むと通貨になる

    Excel2010のVBAでCSVファイルを読み込んで処理させたいのですが、読み込んだデータをExcelが勝手に別のデータに変えてしまうので困っています。 例えば、123,456というデータは、フィールドにカンマがあるので、CSVでは"123,456"となりますが、これを以下のようなVBAのコードで読み込ませると、書式が通貨として扱われてしまって、データも123456になってしまいます。文字列として読み込まれていれば正しいデータとして読み込まれるように思うのですが、文字列として読み込ませる方法が分かりません。正しく元のデータ123,456のまま読み込ませるにはどうすればいいのでしょうか。 なお、CSVの各フィールドにカンマやダブルクォーテーションが混在していると、各フィールドに分割する処理が複雑でよく分からないので、下記のコードのようにExcelの機能でCSVを各フィールドに分割される方法で読み込ませたいです。 よろしくお願いします。 Workbooks.Open Filename:= "file.csv"

  • javascriptでCSVを呼出しvlookup

    javascriptでCSVデータをを呼出して、あるinputに入力したデータでCSVをvlookupし、該当した行のある列を別のinputに書くということがしたいです。 こちらの記事はテーブルを参照していますが、 http://okwave.jp/qa/q6750899.html 外部CSVデータを直接読むコードはないでしょうか。 どうか助けてください。 よろしくお願いします。

  • エクセルをcsvで保存する

    こんにちは、是非教えて下さい。 エクセル2007を使用しています。 このファイルはcsvテキスト形式で提出しなければならないのですが、 エクセルsheet1にA列に値を入力して エクセルsheet2のA列に並び替えます。 この項目には前スペース右詰と指定があります。 エクセルsheet2に並び替える際にセルA列に =REPT(" ",12-LEN(sheet1!A1))&sheet1!A1 を入れました(A2、A3、、、と続きます) csvに保存して確認(メモ帳)したら、 エクセルsheet1で値を入力してない所には(下の図の「 _ 」)スペースが入ってしまいました!! (エクセル)        A 1 123456 2 (未入力) (メモ帳)                   ,______123456,,(現在) ,____________,,(現在)             ↓ ,______123456,,(現在と同じ) ,,,(理想) 上の(理想)のように詰めたいのですが よい数式を教えて下さい。 初心者なので説明をいれて頂けると少しは理解できそうです。 よろしくお願いしますm(__)m

  • Excelのcsv保存について

    別ブックのデータを参照して、csvで保存するためのブックを作ったのですが、参照のための関数が入力されているセルもcsvにnullで出力されてしまいます。 参照元.xls  A B C D E 1 あ い う え お 2 か き く け こ 3 さ し す せ そ 4 5 csv出力用.xls A1~E5には作業の都合上、 =IF([参照元.xls]Sheet1!A1="","",[参照元.xls]Sheet1!A1) のような関数を入れて参照しています。  A B C D E 1 あ い う え お 2 か き く け こ 3 さ し す せ そ 4 5 これをcsvで保存すると、 あ,い,う,え,お か,き,く,け,こ さ,し,す,せ,そ ,,,, ,,,, と、データは未入力だけど関数が入っている部分まで保存されてしまいます。 これを、 あ,い,う,え,お か,き,く,け,こ さ,し,す,せ,そ ここまでで保存できるような方法、 もしくは関数などはありませんでしょうか。 csv出力用のブックでは一括半角置換や全角置換、 誤入力されたハイフンやスペースの削除などをおこなっているので、 できればこの参照形式は崩したくありません。 わかるかたいらっしゃいましたらアドバイスをお願いします。

  • CSVファイルをエクセルファイルにインポートさせるには?

    おせわになります CSVファイルをエクセルファイルにインポートさせたいのですが 方法は ユーザーフォームをにテキストボックスと参照ボタン、実行ボタンを作成し 参照ぼたんでCSVファイルを選ぶ テキストボックスには参照先の住所が記載され 実行ボタンでsheet1にB2から貼り付けさせたいのですが可能ですか? 又、CSVの情報が不要な列もあります 必要な列のみ落とし込みをしたいです 当方初心者でVBAコードがあれば幸いです。 わかる方よろしくおねがいします

  • エクセルで別シートにも文章を全て参照させたい

    エクセルで別シートを参照する際、参照先の各セルの文字配置を折り返さないで表示させたいのですが、可能でしょうか? どう説明したら伝わるのか分からなくて申し訳ないのですが、、 参照元シート(以下●)でセルの幅より長い文章を入力すると、 参照先シート(以下■)ではそのセル幅内しか文章が表示されません。 隣のセルも●を参照しており、そこは空欄です。 ●では隣のセルまで文章が延びて表示されているように ■もしたいのですが関数がわかりません。 【■に使ってる関数】空欄の場合は何も表示させないようにしたいので、 =IF(●!A14="","",●1!A14) というのを使ってます。 宜しくお願い致します。

  • 【VAB】 エクセルファイルからCSVファイルをインポートするには

    お世話になります 実行可能か、わからず質問させて頂きます。 ■概要 ・CSVファイルをエクセルファイルにインポートしたいです ■設置 ・ユーザーフォームにテキストボックス、参照ボタン、実行ボタン を生成 ■動き ・参照ボタンをクリックするとダイアログボックスでCSVを選ぶ ・選んだあて先がテキストボックスに記載される ・実行ボタンでCSVをエクセルのシートに貼り付け (このとき貼り付ける列はVB内で決めておきたい、1,4,5,6,9列を貼り付けるなど) わかる方ご教授よろしくお願い申し上げます

専門家に質問してみよう