Macro VBA di Word - Tabelle: Aggiungi, Seleziona, Ripeti, Inserisci da Excel

Aggiungi tabella al documento di Word

Questa semplice macro aggiungerà una tabella al tuo documento Word:

Sub VerySimpleTableAdd() Dim oTable As Table Set oTable = ActiveDocument.Tables.Add(Range:=Selection.Range, NumRows:=3, NumColumns:=3) End Sub

Seleziona tabella in Word

Questa macro selezionerà la prima tabella nel documento Word attivo:

Sub SelectTable() 'seleziona la prima tabella nel documento attivo If ActiveDocument.Tables.Count > 0 Then 'per evitare errori controlliamo se esiste una tabella nel documento attivo ActiveDocument.Tables(1).Seleziona End If End Sub

Passa attraverso tutte le celle in una tabella

Questa macro VBA scorrerà tutte le celle in una tabella, scrivendo il conteggio delle celle nella cella:

Sub TableCycling() ' scorre tutte le celle nella tabella Dim nCounter As Long ' questo verrà scritto in tutte le celle della tabella Dim oTable As Table Dim oRow As Row Dim oCell As Cell ActiveDocument.Range.InsertParagraphAfter 'fa semplicemente un nuovo paragrafo alla fine del documento , La tabella verrà creata qui Imposta oTable = ActiveDocument.Tables.Add(Range:=ActiveDocument.Paragraphs.Last.Range, NumRows:=3, NumColumns:=3) 'crea una tabella e assegnala alla variabile per ogni oRow in oTable. Il ciclo esterno delle righe passa attraverso le righe For Each oCell In oRow.Cells Il ciclo interno va nCounter = nCounter + 1 'aumenta il contatore oCell.Range.Text = nCounter 'scrive il contatore nella cella Next oCell Next oRow 'visualizza il risultato dalla cella da seconda colonna nella seconda riga Dim strTemp As String strTemp = oTable.Cell(2, 2).Range.Text MsgBox strTemp End Sub

Crea tabella di parole da file Excel

Questo esempio VBA creerà una tabella da un file Excel:

Sub MakeTablefromExcelFile() 'avanzato Dim oExcelApp, oExcelWorkbook, oExcelWorksheet, oExcelRange Dim nNumOfRows As Long Dim nNumOfCols As Long Dim strFile As String Dim oTable As Table 'word table Dim oRow As Row 'word Cell row Dim oCell tabella As As Long, y As Long 'counter for loops strFile = "c:\Users\Nenad\Desktop\BookSample.xlsx" 'cambia nel percorso effettivo Set oExcelApp = CreateObject("Excel.Application") oExcelApp.Visible = True Set oExcelWorkbook = oExcelApp.Workbooks.Open(strFile) 'apri la cartella di lavoro e assegnala alla variabile Set oExcelWorksheet = oExcelWorkbook.Worksheets(1) 'assegna il primo foglio di lavoro alla variabile Set oExcelRange = oExcelWorksheet.Range("A1:C8") nNumOfRows = oExcelRange.Rows. Count nNumOfCols = oExcelRange.Columns.Count ActiveDocument.Range.InsertParagraphAfter 'ha appena creato un nuovo paragrafo alla fine del documento, la tabella verrà creata qui Set oTable = ActiveDocument.Tables.Add(Range:=ActiveDocument.Paragraphs.Last.Range, NumRows, NumRows =nNumOfRows, NumColumns:=nNumOfCols) 'creat e tabella e assegnala alla variabile '***real deal, la tabella viene riempita qui Per x = 1 A nNumOfRows Per y = 1 A nNumOfCols oTable.Cell(x, y).Range.Text = oExcelRange.Cells(x, y ).Value Next y Next x '*** oExcelWorkbook.Close False oExcelApp.Quit With oTable.Rows(1).Range 'ora possiamo applicare un po' di bellezza alla nostra tabella :) .Shading.Texture = wdTextureNone .Shading.ForegroundPatternColor = wdColorAutomatic .Shading.BackgroundPatternColor = wdColorYellow End With End Sub

Aiuterete lo sviluppo del sito, condividere la pagina con i tuoi amici

wave wave wave wave wave