image

VBAを使用してExcelからWordファイルにデータをコピーするには、ExcelVBAを使用してWordアプリケーションにアクセスする必要があります。このチュートリアルでは、Wordアプリケーションを開き、ドキュメントを追加し、Excelからデータをコピーして貼り付ける方法を学習します。

この記事では、遅延バインディングを使用する代わりに、早期バインディングメソッドを使用してWordアプリケーションのオブジェクトを作成します。あなたはそれについてここで詳細に読むことができます。

Excel VBAを使用してExcelデータをWordファイルにコピーするプロセスVBAを使用してExcelからWordファイルにデータをコピーするには、もちろん最初にWordアプリケーションを開く必要があります。次に、ドキュメントを追加します(新しいドキュメントが必要な場合)。 Excelファイルからデータをコピーします。ドキュメントの段落を選択して貼り付け、最後にドキュメントを保存して閉じます。これらの各手順は、Excelから簡単に実行できます。 Word文書を操作する必要はありません。

理論をこれ以上進めずに、例から始めましょう。アイアンマンが「歩く前に走らなきゃいけないこともある」と言ったからです。

例:VBAを使用してExcelデータをWordに貼り付ける次のコードは、ある範囲のExcelをコピーして新しいWord文書に貼り付け、後で使用するためにドライブに保存する方法の例です

'VBA Code To Write to Copy data from Excel to A Document

Sub ExcelToWord()

'Using Early Binding

Dim wordApp As Word.Application

Dim mydoc As Word.Document





'Creating a new instance of word only if there no other instances

Set wordApp = New Word.Application





'Making word App Visible

wordApp.Visible = True



'Creating a new document

Set mydoc = wordApp.Documents.Add()



'copying the content from excel sheet

ThisWorkbook.Worksheets("sheet1").Range("A1:g20").Copy

'Pasting on the document

mydoc.Paragraphs(1).Range.PasteExcelTable _

LinkedToExcel:=False, _

WordFormatting:=False,

RTF:=False

'saving the document

mydoc.SaveAs2 "MyDoc"



'closing the document

mydoc.Close



'Emptying the Clipboard

CutCopyMode = False



End Sub

コードの説明:

さて、コメントを使用してコード自体の各ステップを説明しましたが、このサブで使用した行について少し説明しましょう。

‘Wordアプリケーションとドキュメントタイプの変数を作成しました__Dim wordApp As Word.Application _Dim mydoc As Word.Document_ここでは、必要なタイプの2つの変数を宣言しました。アプリケーションという単語への参照をすでに追加しているため、これを行うことができます。これを行うには、メニューのツールに移動します。参照オプションを検索してから、参照という単語を探します。

image

_ ‘他にインスタンスがない場合にのみwordの新しいインスタンスを作成する_Set wordApp = New Word.Application ‘wordAppを表示するwordApp.Visible = True _’新しいドキュメントを作成する__Setmydoc = wordApp.Documents.Add( )_上記の最初の行では、Newキーワードを使用してWord.AppタイプのオブジェクトでwordApp変数をインテンシエートしています。これにより、Wordアプリケーションが開きます。

2行目では、アプリケーションという単語を表示して、操作できるようにしています。

次の行では、Word.Documents.Add()関数を使用してWordアプリケーションに新しいドキュメントを追加します。これはmydoc変数に格納されます。

_’Excelシートからコンテンツをコピーします__ThisWorkbook.Worksheets( “sheet1″)。Range( “A1:G20″)。Copy_ここでは、Excelから範囲をコピーしています。あなたは前にそれをしたに違いありません。クリップボードに保存されます。

_ ‘ドキュメントへの貼り付けmydoc.Paragraphs(1).Range.PasteExcelTable LinkedToExcel:= False、_ WordFormatting:= False、 RTF:= False mydocのParagraph.RangeクラスのPasteExcelTableメソッドを使用して、クリップボード。

_ ‘ドキュメントを保存するmydoc.SaveAs2 “MyDoc” _ ‘ドキュメントを閉じるmydoc.Close _ ‘クリップボードを空にする__CutCopyMode = False_MyDocという名前でドキュメントを保存しています。次に、閉じる機能を使用してドキュメントを閉じます。最後に、他の人が使用できるようにクリップボードを解放します。

そうですね、これが新しいWord文書を作成し、VBAを使用してExcelデータをコピーする方法です。記事が非常に長くなるので、詳細には触れませんでした。これは、Excelを使用してWord文書に貼り付ける方法を学ぶためだけのものでした。プロセスの理解に役立つことを願っています。この記事に関して質問がある場合は、以下のコメントセクションから私に連絡することができます。

関連記事:

link:/ applications-word-outlook-in-vba-getting-started-with-excel-vba-userforms [Excel VBAUserForms入門] | * Excelでフォームを作成する方法と使用方法を説明しますVBAツールボックス、ユーザー入力の処理方法、そして最後にユーザー入力の保存方法。これらのトピックについて、1つの例とステップバイステップガイドを使用して説明します。

link:/ general-topics-in-vba-vba-variables-in-excel [ExcelのVBA変数] | * VBAはVisualBasic forApplicationsの略です。

これは、Microsoftのプログラミング言語です。これは、MSExcel、MS-Word、MS-AccessなどのMicrosoft Officeアプリケーションで使用されますが、VBA変数は特定のキーワードです。

link:/ general-topics-in-vba-excel-vba-variable-scope [Excel VBA Variable Scope] | *すべてのプログラミング言語には、定義された変数にアクセスできる場所を定義する変数アクセス指定子があります。 ExcelVBAも例外ではありません。 VBAにもスコープ指定子があります。

link:/ cells-ranges-rows-and-columns-in-vba-what-is-the-difference-between-byref-and-byval-arguments-vba-interview-question [ByRef and ByVal Arguments] |引数がByRef引数として別のサブまたは関数に渡されると、実際の変数の参照が送信されます。変数のコピーに加えられた変更は、元の引数に反映されます。

link:/ files-workbook-and-worksheets-in-vba-delete-sheets-without-confirmation-prompts-using-vba-in-microsoft-excel [MicrosoftExcelのVBAを使用して確認プロンプトなしでシートを削除する] | VBAを使用してシートを削除しているので、何をしているのかがわかります。

この警告を表示せず、いまいましいシートを削除しないようにExcelに指示します。

link:/ files-workbook-and-worksheets-in-vba-add-and-save-new-workbook-using-vba-in-microsoft-excel [Microsoft Excel2016でVBAを使用して新しいブックを追加および保存する] |このコードでは、最初にワークブックオブジェクトへの参照を作成しました。次に、新しいワークブックオブジェクトで初期化しました。このアプローチの利点は、この新しいワークブックの操作を簡単に実行できることです。保存、閉じる、削除などのように `link:/ menus-toolbars-status-bar-in-vba-display-a-message-on-the-statusbar-using-vba-in-microsoft-excel [Display A Message On ExcelVBAステータスバー*] `| Excelのステータスバーはコードモニターとして使用できます。 VBAコードが長く、VBAを使用していくつかのタスクを実行する場合、画面のちらつきが表示されないように、画面の更新を無効にすることがよくあります。

link:/ general-topics-in-vba-turn-off-warning-messages-using-vba-in-microsoft-excel [Microsoft Excel2016でVBAを使用して警告メッセージをオフにする] | *このコードはVBAを無効にするだけではありませんアラートだけでなく、コードの時間効率も向上します。方法を見てみましょう。

人気の記事:

link:/ keyboard-formula-shortcuts-50-excel-shortcuts-to-increase-your-productivity [生産性を高めるための50のExcelショートカット] |あなたの仕事をより速くしてください。これらの50のショートカットにより、Excelでの作業がさらに高速になります。

link:/ forms-and-functions-introduction-of-vlookup-function [ExcelのVLOOKUP関数] |これは、さまざまな範囲やシートから値を検索するために使用される、Excelの最も使用され人気のある関数の1つです。 link:/ Tips-countif-in-microsoft-excel [COUNTIF in Excel 2016] |この驚くべき関数を使用して、条件付きの値をカウントします。特定の値をカウントするためにデータをフィルタリングする必要はありません。

ダッシュボードを準備するには、Countif関数が不可欠です。

link:/ excel-formula-and-function-excel-sumif-function [ExcelでSUMIF関数を使用する方法] |これは、ダッシュボードのもう1つの重要な機能です。これは、特定の条件で値を合計するのに役立ちます。