Come copiare i dati da Excel a Word utilizzando VBA di Excel
Per copiare i dati da Excel a un file Word utilizzando VBA, è necessario accedere all’applicazione Word utilizzando Excel VBA. In questo tutorial impareremo come aprire un’applicazione word, aggiungere un documento e copiare e incollare i dati da Excel ad esso.
In questo articolo, useremo il metodo Early Binding per creare un oggetto dell’applicazione word invece di usare l’associazione tardiva. Puoi leggerlo qui in dettaglio.
Il processo di copia dei dati di Excel in un file Word utilizzando Excel VBA Per copiare i dati da Excel a un file Word utilizzando VBA, dobbiamo prima aprire l’applicazione Word, ovviamente. Quindi aggiungi un documento (se vuoi un nuovo documento). Copia i dati dal file excel. Selezionare il paragrafo sul documento e incollarlo, infine salvare e chiudere il documento. Ciascuno di questi passaggi può essere eseguito facilmente da Excel. Non sarà necessario interagire con il documento di Word.
Cominciamo con un esempio senza addentrarci nella teoria. Perché Iron Man ha detto: “A volte devi correre prima di poter camminare”.
Esempio: incolla i dati di Excel in Word usando VBA Il codice seguente è un esempio di come puoi copiare un intervallo di Excel e incollarlo in un nuovo documento di Word e salvarlo sul disco per usarlo in seguito
'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
Spiegazione del codice:
Bene, ho spiegato ogni passaggio nel codice stesso usando i commenti, ma diamo qualche parola sulle linee che abbiamo usato in questo sottotitolo.
‘Variabili create di applicazione word e tipo di documento Dim wordApp As Word.Application Dim mydoc As Word.Document Qui abbiamo dichiarato due variabili dei tipi richiesti. Possiamo farlo perché abbiamo già aggiunto il riferimento alla parola applicazione. Puoi farlo andando su strumenti nel menu. Trova l’opzione riferimenti e quindi cerca la parola riferimento.
_ ‘Creazione di una nuova istanza di parola solo se non ci sono altre istanze _Set wordApp = New Word.Application ‘Making word App Visible wordApp.Visible = True _ _’Creazione di un nuovo documento _Set mydoc = wordApp.Documents.Add ( ) _ Nella prima riga sopra, intendiamo la variabile wordApp con un oggetto di tipo Word.App utilizzando la parola chiave New. Questo aprirà l’applicazione Word.
Nella seconda riga stiamo rendendo visibile la parola applicazione in modo da poter lavorare con essa.
Nella riga successiva, aggiungiamo un nuovo documento all’applicazione word utilizzando la funzione Word.Documents.Add (). Questo è memorizzato nella variabile mydoc.
‘copiare il contenuto dal foglio Excel ThisWorkbook.Worksheets (“sheet1”). Range (“A1: G20”). Copy Qui stiamo semplicemente copiando un intervallo da Excel. Devi averlo fatto prima. È memorizzato negli appunti.
‘Pastaggio sul documento mydoc.Paragraphs (1) .Range.PasteExcelTable _LinkedToExcel: = False, _WordFormatting: = False, _ _RTF: = False Stiamo utilizzando il metodo PasteExcelTable della classe Paragraph.Range di mydoc per incollare i dati da appunti.
‘saving the document mydoc.SaveAs2 “MyDoc” _ _’closing the document mydoc.Close ‘Emptying the Clipboard CutCopyMode = False Stiamo salvando il documento con il nome MyDoc. Quindi chiudiamo il documento utilizzando la funzione Chiudi. Infine rilasciamo gli appunti per essere utilizzati da altri.
Quindi sì ragazzi, è così che puoi creare un nuovo documento Word e copiare i dati di Excel su di esso usando VBA. Non sono entrato nei dettagli in quanto renderebbe l’articolo estremamente lungo. Questo era solo per imparare come puoi incollare in un documento Word tramite Excel. Spero che ti abbia aiutato a capire il processo. Se hai domande su questo articolo, puoi contattarmi tramite la sezione commenti qui sotto.
Articoli correlati:
link: / applications-word-outlook-in-vba-get-started-with-excel-vba-userforms [Primi passi con Excel VBA UserForms]
| * Spiegherò come creare un modulo in Excel, come usarlo Toolbox VBA, come gestire gli input dell’utente e infine come memorizzare gli input dell’utente. Affronteremo questi argomenti utilizzando un esempio e una guida passo passo.
link: / general-topics-in-vba-vba-variables-in-excel [Variabili VBA in Excel]
| * VBA sta per Visual Basic for Applications.
È un linguaggio di programmazione di Microsoft. Viene utilizzato con applicazioni di Microsoft Office come MSExcel, MS-Word e MS-Access mentre le variabili VBA sono parole chiave specifiche.
link: / general-topics-in-vba-excel-vba-variable-scope [Excel VBA Variable Scope]
| * In tutti i linguaggi di programmazione, abbiamo specificatori di accesso alle variabili che definiscono da dove è possibile accedere a una variabile definita. Excel VBA non fa eccezione. Anche VBA ha specificatori di ambito.
link: / celle-intervalli-righe-e-colonne-in-vba-qual-è-la-differenza-tra-byref-e-byval-argomenti-vba-interview-question [Argomenti ByRef e ByVal]
| Quando un argomento viene passato come argomento ByRef a una funzione secondaria o diversa, viene inviato il riferimento della variabile effettiva. Qualsiasi modifica apportata alla copia della variabile si rifletterà nell’argomento originale.
`link: / files-cartella-di-lavoro-e-fogli di lavoro-in-vba-cancella-fogli-senza-richieste-di-conferma-usando-vba-in-microsoft-excel [Elimina fogli senza richieste di conferma usando VBA in Microsoft Excel] Dato che stai eliminando fogli usando VBA, sai cosa stai facendo.
Vorresti dire a Excel di non mostrare questo avviso ed eliminare il dannato foglio.
Aggiungi e salva una nuova cartella di lavoro usando VBA in Microsoft Excel 2016 | In questo codice, abbiamo prima creato un riferimento a un oggetto cartella di lavoro. E poi l’abbiamo inizializzato con un nuovo oggetto cartella di lavoro. Il vantaggio di questo approccio è che puoi eseguire facilmente le operazioni su questa nuova cartella di lavoro. Come salvare, chiudere, eliminare, ecc. Visualizza un messaggio su La barra di stato di Excel VBA * | La barra di stato in Excel può essere utilizzata come monitor del codice. Quando il tuo codice VBA è lungo e svolgi diverse attività utilizzando VBA, spesso disabiliti l’aggiornamento dello schermo in modo da non vedere lo sfarfallio dello schermo.
link: / general-topics-in-vba-turn-off-warning-messages-using-vba-in-microsoft-excel [Turn Off Warning Messages Using VBA In Microsoft Excel 2016]
| * Questo codice non solo disabilita VBA avvisa ma aumenta anche l’efficienza temporale del codice. Vediamo come.
Articoli popolari:
link: / keyboard-formula-shortcuts-50-excel-shortcuts-to-aumentare-la-produttività [50 scorciatoie Excel per aumentare la produttività]
| Diventa più veloce nel tuo compito. Queste 50 scorciatoie ti faranno lavorare ancora più velocemente su Excel.
link: / formule-e-funzioni-introduzione-di-vlookup-funzione [La funzione CERCA.VERT in Excel]
| Questa è una delle funzioni più utilizzate e popolari di Excel che viene utilizzata per cercare valori da diversi intervalli e fogli. link: / tips-countif-in-microsoft-excel [COUNTIF in Excel 2016]
| Contare i valori con le condizioni utilizzando questa straordinaria funzione. Non è necessario filtrare i dati per contare valori specifici.
La funzione Countif è essenziale per preparare la tua dashboard.
link: / excel-formula-and-function-excel-sumif-function [Come usare la funzione SUMIF in Excel]
| Questa è un’altra funzione essenziale della dashboard. Questo ti aiuta a riassumere i valori su condizioni specifiche.