Word VBA -makroer - Tabeller: Legg til, velg, sløyfe, sett inn fra Excel

Legg til tabell i Word -dokument

Denne enkle makroen legger til en tabell i Word -dokumentet ditt:

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

Velg Tabell i Word

Denne makroen vil velge den første tabellen i det aktive Word -dokumentet:

Sub SelectTable () 'velger første tabell i aktiv doc Hvis ActiveDocument.Tables.Count> 0 Then' for å unngå feil sjekker vi om det finnes noen tabell i active doc ActiveDocument.Tables (1) .Velg End If End Sub

Sløyfe gjennom alle cellene i en tabell

Denne VBA -makroen går gjennom alle cellene i en tabell og skriver celletallet til cellen:

Sub TableCycling () 'sløyfe gjennom alle cellene i tabellen Dim nCounter As Long' vil dette skrives i alle tabellcellene Dim tabell Som tabell Dim oRow As Row Dim oCell As Cell ActiveDocument.Range.InsertParagraphAfter 'gjør bare en ny del av slutten av doc , Tabellen opprettes her Sett oTable = ActiveDocument.Tables.Add (Range: = ActiveDocument.Paragraphs.Last.Range, NumRows: = 3, NumColumns: = 3) 'opprett tabell og tilord den til variabel For hver oRow In tabell. Radens ytre sløyfe går gjennom rader For hver oCell I oRow.Cells indre sløyfe går nCounter = nCounter + 1 'øker telleren oCell.Range.Text = nCounter' skriver teller til cellen Neste oCell Neste oRow 'viser resultat fra celle fra andre kolonne i andre rad Dim strTemp As String strTemp = oTable.Cell (2, 2) .Range.Text MsgBox strTemp End Sub

Lag Word -tabell fra Excel -fil

Dette VBA -eksemplet vil lage en tabell fra en Excel -fil:

Sub MakeTablefromExcelFile () 'advanced 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 row Dim oCell As Cell' word As Long, y As Long 'teller for sløyfer strFile = "c: \ Users \ Nenad \ Desktop \ BookSample.xlsx"' endring til faktisk bane Sett oExcelApp = CreateObject ("Excel.Application") oExcelApp.Visible = True Set oExcelWorkbook = oExcelApp.Workbooks.Open (strFile) 'åpen arbeidsbok og tilordne den til variabel Sett oExcelWorksheet = oExcelWorkbook.Worksheets (1)' tilordne første regneark til variabel Sett oExcelRange = oExcelWorksheet.Range ("A1: C8") nNumOfRows = oExcel. Count nNumOfCols = oExcelRange.Columns.Count ActiveDocument.Range.InsertParagraphAfter 'gjør bare en ny del til slutten av doc, vil tabellen opprettes her Set oTable = ActiveDocument.Tables.Add (Range: = ActiveDocument.Paragraphs.Last.Range, NumRows: = nNumOfRows, NumColumns: = nNumOfCols) 'creat tabellen og tilordne den til variabelen '*** real deal, tabellen fylles her For x = 1 Til nNumOfRows For y = 1 Til 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' we can now apply some beautiness to our table :) .Shading.Texture = wdTextureNone .Shading.ForegroundPatternColor = wdColorAutomatic .Shading.BackgroundPatternColor = wdColorYellow End With End Sub

Du vil bidra til utvikling av området, dele siden med vennene dine

wave wave wave wave wave