
結構、複雑な作業を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ベストアンサー
- 回答日時:
こんばんは
状況がよくわかりませんけれど・・
>そのcsvファイルも完成しています。
雰囲気からすると、こちらのCSVはテンプレートと考えれば、変わらないもののように思われます。
もしそうであるなら、差し込むデータもCSVにしておいて、表示の際に差し込み処理を行うようにしてしまえば、ご質問の作業そのものが不要になるのではないかと思います。
差し込み用のデータのみをメンテして、CSVでアップすれば良いというイメージですね。
5000件とのことなので、若干ながらサーバー(あるいはスクリプトでやるならブラウザ)の負荷がかかりますけれど、多くの定型の表などに、日々可変の情報を織り込むようなサイトで使われている手法です。
ニュースサイトの記事とかブログの最近の記事一覧とか・・
>アコーディオンタグの中にその駅記事のX列の文章を差し込むようにできるでしょうか?
エクセル上で編集なさりたいのなら可能でしょう。
元のCSVをエクセルに読み込んで、別ブックから検索して文字列編集で埋め込めば良いです。
実際の状態がハッキリしないので、以下は要領のみの例となりますが・・
例えば、空き列の1行目に
=IFERROR(LEFT(D1,FIND("</summary>",D1)+9)&INDEX(別ブックのX列,AGGREGATE(15,6,ROW(A$1:A$100)/(COUNTIF(C1,"*"& 別ブックのA$1:A$100 &"*")>0),1))&"</details>",D1)
のような関数式を入れて下方にフィルコピーすれば、この列に編集後のHTMLが表示されます。
その列をカットして、「値をペースト」でD列に戻してあげれば編集後の固定文字列になるでしょう。
質問者様が、この作業をマクロ化できるのなら、マクロで行うことも可能です。
こちらであれば、ボタンを押すなどであとは自動化が可能ですね。
No.1
- 回答日時:
ごめんなさい。
ひょっとすると手作業でやったほうが早いと思うというアドバイスです。
今回だけの作業のためにマクロを作るには対象の数が少なすぎると思うんだ。
これが100万行のデータで対象のシートも1000ほどあるという事なら考えものですが、5000件ほどのデータですので一つずつ手作業で処理することを勧めます。
自分なら作業用の列や行を追加して、データをまとめて加工しながら処理するという方法を採用しますけどね。
これならマクロの動作確認をしながらコードを並べるより早く終わります。
動作確認しながらマクロを作ると……マクロできた♪でも処理終わってる;;ってことになる。
そしてここは「代わりにマクロを作ってください」と【作業委託】する場所ではなく、
自力で問題を解決で起用になるための【アドバイス】をもらう場所です。
(`・ω・´) マクロを自分で作るんだよ。
ということで、マクロで処理をしたいという事であれば、その処理を行うにあたって具体的にどんなことが分からないのかを書いて自力で解決できるようになるためのアドバイスをもらうようにしましょう。
・・・
質問者さん的には
「答え(マクロ)を投稿できないなら黙ってろ」
って思うでしょうが、残念ながらここはそういう場所なんです。
まあ、たまに勘違いしている「俺はこの程度は朝飯前だぜ!」って人がコードを書いてくれることもありますけどね。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 文章内の指定した位置にセル内を差し込む 1 2023/06/28 19:56
- Excel(エクセル) PowerQueryに詳しい方教えてください(Office365) 1 2022/07/24 21:11
- Excel(エクセル) csvファイルをExcel形式で読み込むには 2 2023/07/03 13:09
- Visual Basic(VBA) VBAで特定の場所にあるCSVファイル(複数)から特定場所を抜き出してExcelに転記したいです。 11 2023/05/23 16:29
- Excel(エクセル) セルを参照して条件で値をコピーする 3 2023/02/08 17:45
- Visual Basic(VBA) エクセルVBA 4 2022/05/14 00:51
- Visual Basic(VBA) エクセルVBAについて 8 2022/07/13 22:41
- Excel(エクセル) エクセルのVBAについて とあるサイトのコードを参考に、CSVの文字化けを直すVBAを作成しているの 7 2022/11/04 14:15
- Access(アクセス) CSVファイルの「0落ち」にVBA 6 2023/02/02 15:27
- Visual Basic(VBA) tatsumaru77様 昨日回答して頂いたものです。 すみませんが、昨日の質問で1つ補足があります 1 2022/05/15 15:06
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
「段」と「行」の違いがよくわ...
-
エクセルで離れた列を選択して...
-
VLOOKUPの列番号の最大は?
-
CSVファイルの「0落ち」にVBA
-
VBA 指定した列にある日時デー...
-
LEFT関数とIF関数の組み合わせ...
-
列方向、行方向の定義
-
EXCELを最大にて開いた際、特定...
-
Excelの行数、列数を増やしたい...
-
土日の列幅の自動変更を教えて...
-
マクロを使って複数ある同じ数...
-
エクセル マクロ 範囲の値を上...
-
Excel2002のVBAでFor Nextのネ...
-
ご覧いただきありがとうござい...
-
エクセルで?
-
エクセル マクロ 範囲指定で...
-
VBAで別ブックの列を検索し、該...
-
エクセル 任意の列数で分割する...
-
エクセルマクロPrivate Subを複...
-
アクセス 取り込み時に、桁数(...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「段」と「行」の違いがよくわ...
-
エクセルで離れた列を選択して...
-
LEFT関数とIF関数の組み合わせ...
-
VLOOKUPの列番号の最大は?
-
VBA 指定した列にある日時デー...
-
Excelの行数、列数を増やしたい...
-
エクセルのソートで、数字より...
-
列方向、行方向の定義
-
VBAで別ブックの列を検索し、該...
-
エクセル マクロ 範囲指定で...
-
CSVファイルの「0落ち」にVBA
-
エクセルマクロPrivate Subを複...
-
エクセルで最初の行や列を開け...
-
最近急にVBAの処理速度が遅くな...
-
VBA
-
Excel文字列一括変換
-
エクセルで複数列の検索をマク...
-
エクセル マクロ 範囲の値を上...
-
横軸を日付・時間とするグラフ化
-
Alt+Shift+↑を一括で行うには、...
おすすめ情報