• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:EXCEL VBA でWord文章に値を入れ込み)

EXCEL VBAでWord文章に値を入れ込む方法

このQ&Aのポイント
  • EXCEL VBAを使用してWord文章に値を入れ込む方法についてご質問いただきました。現在、EXCELファイルでデータを入力している状況で、特定のボタンを押下すると、EXCELの特定のセルの値をWordファイルの指定した場所に貼り付けたいとのことです。
  • 具体的な例として、EXCELのA1に製造番号、B1に155556という値が入力されている状況を想定しています。ボタンを押下すると、Wordファイルの特定の箇所に製造番号として155556を表示したいとのことです。表形式ではなく文章の改行を使って次の行の一部に埋め込みたいとのことです。
  • ただし、WordファイルにはEXCELファイルのようにセルの値を指定できる場所がないため、どのように指定すれば良いか分からないとのことです。

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

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

小生も自信はありません。 色々注文が付いても、判らないかもしれませんが、 出る回答も少ないと思うので、1例を挙げてみます。 さらに質問者の場合に合わせて、チューニングが必要です。 プロトタイプは、下記のようなものでしょう。 ーー 参照設定でMicrosoftWord15.0ObjectLibraryなどを VBE画面のツールー参照設定のところです。 クリックして設定しておくこと。 ーー Wordの文書に例文を1つ作る。 C:\Users\XXX\Documents\あ.docx (例文)出鱈目な文章ですみません。 『 Excelシート上に「商品NO」「商品名」「単価」「在庫」を入力するセルと、「追加」ボタンを配置し、データを入力して「追加」ボタンをクリックすると、1件のレコードが、Accessの「商品管理テーブル」に追加される。順次データを入力して「追加」ボタンをクリックするごとに、順次Accessのテーブルにレコードが追加されていく。 使用するテーブルは、で作成しておいた、「商品管理テーブル」だ。   製造番号 「商品管理データベース.accdb」をクリックして、Accessを起動しておいてほしい 』 ーー   のように、「製造番号」という語句が、どこかある1行に、必ずあるとする。 ーー Excelシートには、 A列に 製造番号 112233 112234 のデータがあるとする。 ーー エクセルの上記シートにボタンを1つ設ける。 開発ー挿入ーActivexのコマンドボタンを挿入。 その、エクセルのシートのボタンのクリックイベントに Private Sub CommandButton1_Click() MsgBox "ボタンが押された" bango = ActiveCell.Value Dim myWord As Word.Document Set myWord = GetObject("C:\Users\XXX\Documents\あ.docx") '<--質問者の場合に適当に変えること myWord.Application.Visible = True Set myRange = ActiveDocument.Content myRange.Find.Execute FindText:="製造番号", ReplaceWith:="製造番号=" & bango, _ Replace:=wdReplaceAll End Sub ーー エクセルのVBAと言っているが、WordVBAが中心です。 エクセルのVBAの知識は,多分役立ちません。 市販解説書はなく、WEBの記事は散在していて、テーマごとに1つずつ 見つけて、例のコードを修正しないとならない。この力が要ります。 実は、「止めときなはれ」と言いたい。 ーー Excelー>Word文書を行き来するので、処理時間も (文書の数が多いと)かかると思います.最終完成形のはなしですが。 ーー エクセルの側の、行データの繰り返しは略してあるので、 また文書を閉じるや、文書を読みこむコードも略してあるので、 修正してください。

Kuronari12
質問者

お礼

ご回答ありがとうございます。 全然タイプが違いますね。 やらない方が良さそうだとは、わかりました。 ありがとうございました。

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

その他の回答 (2)

  • kkkkkm
  • ベストアンサー率65% (1624/2466)
回答No.2

EXCEL VBAからワード文書を開き、検索結果をエクセルシートに記入していく方法のQ&Aがあります。そのままでは使えませんが > 場所を指すものがないので、どのように指定するか分かりません。 の参考にしてください。 https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1467351489

Kuronari12
質問者

お礼

ご回答ありがとうございます。 参考にさせていただきます。

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

ずばりの回答では無く参考になるのは https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1467351489 で、 さらにWordのマクロ記録機能で作った155556を埋め込むVBAを関数化して組み込めばできそうな感じがする。

Kuronari12
質問者

お礼

ご回答ありがとうございます。 参考にさせていただきます。

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

関連するQ&A

  • Excelでの文章をWordへコピー

    会社で文章を数人で分担して入力したのですが、 Wordで入力した人、Excelで入力した人とまちまちで、 Wordに統一することになりました。 (Word、Excelとも2000です。) Excelで入力した物をWordに入力し直したいのですが、 Excelでの文章をコピーしてWordに貼り付けると、セルも一緒に くっついて来てしまいます。 (印刷する分には大丈夫なのかもしれませんが) Excel同士なら、「形式を選択して貼付」で「値のみ」にすれば セルや表などは反映されず、文字の分だけで済みますが、 Wordへ貼付した物も単純に文字だけを反映させるには どうすればいいのでしょうか? Excelの文章をコピーしてWordに貼付した時、Excelのセルを 引っ張って来ないようにするにはどうすればいいでしょうか? それともセルを引っ張って来ていても無視して大丈夫なのでしょうか? 最終的にはWordで表形式(行幅は不定)にしたいのですが…。 (Excelで入力していた人は罫線は使用せず、単純にセルにへのベタ打ちでした)

  • word文章をexcelで…

    wordの文章をexcelで編集することは不可能でしょうか? word文章を切り取り、excelのセルに貼り付けるというのではなく、word文章で改行されている箇所が自動でexcelでも1つ下のセルに入力されるような方法はないでしょうか?詳しい方がいらしたら教えてください。

  • VBAでエクセルの特定のセルの値に置換

    Wordの文章の中に”値1”や”値2”などと仮の値を入れておきます。 エクセルの特定のセルに具体的な値を入力します。 WordからVBAを実行すると、対象となるexcelファイルを選択する画面となり、選択するとそのエクセルファイル中の具体的な値と”値1”や”値2”などと仮の値を置換するようなコードは作れるのでしょうか? 差し込み印刷の様な感じですが、毎回excelファイルを選択するのとできるwordの書類がひとつだけというところで異なる感じです。 よろしくお願いします。

  • エクセルVBAにてワード文章をコピー

    下記の様なエクセルの管理表のA1セルをダブルクリックすると ファイル選択画面に移行し選択したワード文章の1行目から順に B1、C1、D1・・・へコピーさせたいと考えています。 A B C D・・・  1______ 2______ 3______ ・ 以降、A2、A3・・・と同じ事を繰り返し別のワードファイルを コピーしていきたいです。ワードは最大20行程度となります。 いつも質問ばかりですみませんが、どうぞ宜しくお願い致します。

  • ExcelからWordに、値のみコピー

    セルA1に「aaa」 セルB1に「bbb」 セルA2に「ccc」があるとします。 そして、セルA3に「=A1 & B1 & char(10) & A2」と記入します。 このセルA3の値(aaabbb改行ccc)のみを、Wordにコピーしたいと思っています。 (タブやスペースなども無い状態で) そこでWordにセルA3の値をコピーし、「テキストのみ保持」を指定したのですが、「"」が勝手に入ってしまいます。 どのようにすればセルA3の値のみを、Wordにコピーできますか? できれば、Excelの関数やVBAのみを使って、値をきれいにコピーしたいと思っています。 (タブ、スペース、「"」等、勝手に挿入しないで) わかりにくい質問になってしまいましたが、 わかる方教えてください。 よろしくお願いします。

  • ExcelからWordに、値のみコピー

    セルA1に「aaa」 セルB1に「bbb」 セルA2に「ccc」があるとします。 そして、セルA3に「=A1 & B1 & char(10) & A2」と記入します。 このセルA3の値(aaabbb改行ccc)のみを、Wordもしくはメモ帳にコピーしたいと思っています。 (タブやスペースなども無い状態で) そこでWordにセルA3の値をコピーし、「テキストのみ保持」を指定したのですが、「"」が勝手に入ってしまいます。 どのようにすればセルA3の値のみを、Wordもしくはメモ帳にコピーできますか? できれば、Excelの関数やVBAのみを使って、値をきれいにコピーしたいと思っています。 (タブ、スペース、「"」等、勝手に挿入しないで) わかりにくい質問になってしまいましたが、 わかる方教えてください。 よろしくお願いします。

  • エクセルVBAについて

    エクセルVBA についての質問です。 この問題の答えを教えて頂きたいです。 次の条件を満たすプロシージャを作成してください。 1、ダイアログボックスに最初に市外局番なしの電話番号を入力すると、 先頭に小文字の「a]をつけた電話番号が自動的に、セルB3に入力される。 2、ダイアログボックスでキャンセルを押すと、 電話番号を入力してください、というメッセージボックスが表示される。 3、セルB3の値が「a1234567890」のとき、セルB3が赤の太字になり、 さらにセルC3に「検証用です」と入力される。 この問題の正解となる式を教えてください。 どこが間違っているかがわからず困っております。 よろしくお願いいたします。

  • ワードの文章をエクセルに貼り付ける方法

    ワード使って報告書を作成しています。 文章はほとんど作成できたのですが、報告所内にたくさんの表が必要になってしまいました。 そこでエクセルで報告書を作成することにしたのですが、今まで入力したワードの文章が無駄になってしまうのはもったいないので、ワードの文章をエクセルにする(?)方法を教えてください。 エクセルの開く→ワードのファイルをやったのですが、怒られてしまいました。 まだオフィスの初心者なので、手順を詳しく教えてください。 よろしくお願いします。

  • エクセルで別シートの値を取得したいです。

    エクセルで質問があります。 別シートからセル値を取得したいです。 ただ、セル番地は行番号、列番号で指定し、 行、列番号はセルに入力してある値を使いたいです。 例 Aシート(値格納シート) B1セル値=1000 -------------- Bシート(値取得シート) A列=行番号入力 B列=列番号入力 C列=Aシートの取得関数 A2セル値=1 B2セル値=2 C2セル=1000(取得値) C2セルの関数に、A2とB2の値を使って Aシートのセル値を取得したいです。 よろしくお願いします。

  • エクセルの情報を、ワードへ反映できますか?

    タイトルの件、下記の画像を使って、質問します。 エクセルに入力した、文字をワードへ反映させる事はできますか?? 下記の画像より ●エクセルのB1セルに【暑い】と入力⇒ワードの特定の場所に【暑い】と表示される ●エクセルのB2セルに【佐藤】と入力⇒ワードの特定の場所に【佐藤】と表示される ご存知の方、いらっしゃいましたら、よろしくお願いします。

専門家に質問してみよう