• ベストアンサー

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

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

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

  • ベストアンサー
  • kkkkkm
  • ベストアンサー率65% (1630/2473)
回答No.1

AL各行のセルの文章中に</summary>が一カ所しかないのでしたら以下で試してみてください。 Sub Test() Dim i As Long Dim tmp As Variant For i = 1 To 6000 If Cells(i, "AL").Value <> "" Then tmp = Split(Cells(i, "AL").Value, "</summary>") Cells(i, "AL").Value = tmp(0) & "</summary>" & vbLf & Cells(i, "AM").Value & tmp(1) End If Next End Sub

mute_low
質問者

お礼

できました!どうもありがとうございました!

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 【EXCEL】指定したセルの値を他セルに代入する

    EXCELにおいて、 あるセルD1で記入したアルファベットX(列指定情報) あるセルE1に記入した数字Y、(行指定情報) において、 あるセルF1=X行Y列のセルの値 というふうにするにはどのようにすればよろしいでしょうか? よろしくお願いいたします。 以下は例です ---------------------------- # A B C D E F 1 12 ## A 3 34 2 23 3 34 4 54 5 89 ----------------------------

  • エクセル 条件付書式 色指定

    エクセルの使い方について質問があります。 AL列のあるセルにclosedを記入されていれば、 それに該当する行のC~AL列までを黄色にしたいです。 例えば、 AL4にclosedと入力されていれば、 C4~AL4まで黄色に自動でなるようにする、 といった具合です。 宜しくお願いいたします。

  • 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です。 よろしくお願いいたします。

  • Excelでセルの大きさが勝手に変わってしまいます。

    Excelでセルの大きさが勝手に変わってしまいます。 私が使っているのはExcel2003なのですが データ入力の仕事をしていてアンケート入力をしています。 基本的にはテンキーでの数字入力で 1箇所だけ自由記入の箇所があるのでそこには文章を入力しているのですが 自由記入のスペースはアンケート用紙ではA41枚分あるので 書いてある方は相当書いていて 結構な字数です。 エクセルのそれぞれのセルの大きさは 横の列の太さは標準の18ピクセルです。 で縦の部分は自由記入の箇所は32ピクセルですが このピクセルに収まる文字数は15文字程度です。 で、その自由記入のやつを入力するセルの隣も数字を入力していくのですが なので、自由記入のやつが長くなっても、 もし隣のセルが空いていたら、そこの上にも文字が乗っかりますが 隣のセルは入力するので、自由記入のセルは途中で途切れています。 といっても、そのセルをクリックすると、全文表示されますが で、問題は その自由記入のセルをクリックして入力をしていると、 Excel上部のバーと、そのセルのところに文字が表示されますよね? で、横幅が32ピクセルなので 結構な文字数を打つと、セル上で10数行になっていったりします。 で、通常ならば打ち終わり次のセルに移る際にEnterを押すと その文字は全て1行の中に納まる感じになるのですが 今、使っているアンケート用のフォーマットでは Enterを押した瞬間に 例えばセル上で12行になっていたら、その12行分にセルの縦幅が広がってしまうんです。 それで、今はそのたびに通常の18ピクセルまで戻しているのですが なんでこういうふうになってしまうのでしょうか? 直す方法あったら教えてください。 お願いします。 分かりにくいかもしれないと思ったので動画を添付します。

  • セルの幅を1行目の文字に合うように設定したい

    Excelの幅の調整について質問させてください。 セルに記入されている文字の長さに合わせてセルの幅を設定するとき、列の間(A列とB列の間の境界線とか)をダブルクリックして併せています。 しかし、これでは、1行目に10文字、2行目に1000文字記入した場合、長いほうの1000文字に合わせて列の幅が設定されてしまいます。 私は1行目を表題にしているため、この列の幅は1行目に記入されている文字列の長さに合わせて設定したいと考えています。 2行目以降にどんな長い列が入れられていても、1行目に記入されたセルの文字列長に合わせてセルの大きさを調整する方法はないですか? 今は目算で設定を行っているのですが、この法はアバウトなため、自動で調整してもらいたいのですが。

  • セル位置について

    最近行の位置についてっていうので質問が載ってましたが、 気になったので、私も質問をしたいことがあります。 検索するとよく見るソースですが、 Range("A65536").End(xlUp).Offset(1, 0).Activate 上記をやることにより、データが入っていない行をアクティブにしますが、行挿入などでデータが増えていく中で、 上記をつかって、ある分岐の値を見て、そのセルをアクティブにする 簡単な方法はないでしょうか。 (例) 001 atai1 2 002 atai2 1 003 atai3 1 . . , 上記のようにどんどんデータが増えていく中でC列の値を見て 1だった場合はスキップして1以外の値がみつかったら そのセルをアクティブにするっていう処理をやりたいのですが..

  • 検索値で枠内を検索して一致したら黄色に塗潰す。

    このカテゴリーのエクセルの達人の方々に質問です。 どなたか回答して頂ける方がおみえでしたらよろしくお願いします。 (ちゃんとした回答ではなく、文句やクレーム等を混ぜた記載はご遠慮ください。  私の質問が気に入らない場合は無視して頂ければ結構です。) 【質問】  添付図のとおり、35列×6行の中に数字が1~37まであり、  重複数字を含んでおります。また、AL列とAM列は54行で、  数字が1~37まであり重複数字を含んでおります。  AL1とAM1の2つの値で、35列×6行の中を検索して一致したら  セルを黄色に塗り潰します。これを、AL列とAM列の  最終行(54行目)まで繰り返します。  上記を実現する方法をVBAで実現する方法が知りたいです。   【注意事項】   ・35列×6行の中にある数字の並びは毎回異なります。   ・枠線や塗り潰しの黄色、検索対象~、検索値~は説明の    ために付けているだけです。   ・AL列とAM列は2つで1つの値として昇順に並んでいます。   ・VBAで実現する方法~、と書きましたが、    同様のことが他の方法でも実現できればそれを教えて下さい。   ・使用するエクセルは2021です。 以上、よろしくお願いします。

  • Excel:複数セルからの抽出について

    1行目に「あ」~「お」までの列があり、2行目以降は空白になっている表を作成しました。 この表で「う」の下に「○」が記入された場合、別シートの任意のセルに(ここを1列にしたい)「う」を呼び出すようにすることは可能でしょうか。 if関数で出来かもしれないと考えてみたのですが、煮詰まっています。 よろしくお願いします。

  • エクセルの1つのセル内で2行文章を書くにはどうしたらよいですか?

    1つのセルの中に書く文字が多いので2行にしたいのですが、どうしたら文章を2行にできますか? エクセルの上部にある空欄の中で文章の途中でエンターキーを押したのですが、これではできないようです。 ソフトはエクセル2003です。

  • エクセルを使って、文章の任意の箇所に指定したセルの文字列を代入したいと

    エクセルを使って、文章の任意の箇所に指定したセルの文字列を代入したいと考えているのですができるでしょうか? 例えば、A1セルに 「これはB1です。C1の形をしています。」という文字列を記入したとします。 "B1"と書かれている箇所にはB1セルに書いた文字列が、"C1"と書かれている箇所にはC1に書いた文字列が表示されるようにしたいのです。 アナログな方法としては、文章を区切って、A2セルに「これは」、A3セルに「です。」、A4セルに「の形をしています。」と記入し、任意のセルで&を使って(文字列結合っていうのでしょうか)、「=A2&B1&A3&C1$A4」とすればできますよね。 ただ、これだと繋げるセルの個数が多い時に効率が悪いのだろうな、と思うのです。 他の方法でもっと効率よく実行する方法がありましたら、どなたかご教授頂けると光栄です。 宜しくお願いいたします。

専門家に質問してみよう