Macro Word VBA - Bảng: Thêm, Chọn, Vòng lặp, Chèn từ Excel

Thêm bảng vào tài liệu Word

Macro đơn giản này sẽ thêm một bảng vào tài liệu Word của bạn:

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

Chọn bảng trong Word

Macro này sẽ chọn bảng đầu tiên trong tài liệu Word hiện hoạt:

Sub SelectTable () 'chọn bảng đầu tiên trong tài liệu đang hoạt động If ActiveDocument.Tables.Count> 0 Then' để tránh lỗi, chúng tôi kiểm tra xem có bảng nào tồn tại trong tài liệu đang hoạt động ActiveDocument.Tables (1) hay không. Chọn End If End Sub

Vòng qua tất cả các ô trong một bảng

Macro VBA này sẽ lặp qua tất cả các ô trong bảng, ghi số ô vào ô:

Sub TableCycling () 'lặp qua tất cả các ô trong bảng Dim nCounter As Long' điều này sẽ được ghi trong tất cả các ô của bảng Dim oTable As Table Dim oRow As Row Dim oCell As Cell ActiveDocument.Range.InsertParagraphAfter 'chỉ tạo đoạn cuối mới của tài liệu , Bảng sẽ được tạo ở đây Đặt oTable = ActiveDocument.Tables.Add (Range: = ActiveDocument.Paragraphs.Last.Range, NumRows: = 3, NumColumns: = 3) 'tạo bảng và gán nó vào biến Cho Mỗi oRow Trong oTable. Vòng lặp outher của hàng đi qua các hàng Đối với mỗi oCell Trong oRow.Cells 'vòng lặp bên trong đi nCounter = nCounter + 1' làm tăng bộ đếm oCell.Range.Text = nCounter 'ghi bộ đếm vào ô Tiếp theo oCell Tiếp theo oRow' hiển thị kết quả từ ô từ cột thứ hai trong hàng thứ hai Dim strTemp As String strTemp = oTable.Cell (2, 2) .Range.Text MsgBox strTemp End Sub

Tạo bảng Word từ tệp Excel

Ví dụ VBA này sẽ tạo một bảng từ tệp Excel:

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' ô bảng từ As Long, y As Long 'bộ đếm vòng lặp strFile = "c: \ Users \ Nenad \ Desktop \ BookSample.xlsx"' thay đổi thành đường dẫn thực Đặt oExcelApp = CreateObject ("Excel.Application") oExcelApp.Vible = True Set oExcelWorkbook = oExcelApp.Workbooks.Open (strFile) 'mở sổ làm việc và gán nó vào biến Đặt oExcelWorksheet = oExcelWorkbook.Worksheets (1)' gán bảng tính đầu tiên cho biến Đặt oExcelRange = oExcelWorksheet.Range ("A1: C8") nNumOfRows = oExcelRange. Đếm nNumOfCols = oExcelRange.Columns.Count ActiveDocument.Range.InsertParagraphA Sau khi 'chỉ tạo đoạn cuối mới của doc, Bảng sẽ được tạo ở đây Đặt oTable = ActiveDocument.Tables.Add (Range: = ActiveDocument.Paragraphs.Last.Range, NumRows: = nNumOfRows, NumColumns: = nNumOfCols) 'tạo e bảng và gán nó vào biến '*** giao dịch thực, bảng được điền ở đây Đối với x = 1 Đến nNumOfRows Đối với y = 1 Đến nNumOfCols oTable.Cell (x, y) .Range.Text = oExcelRange.Cells (x, y ) .Value Tiếp theo y Next x '*** oExcelWorkbook. wdColorAutomatic .Shading.BackgroundPatternColor = wdColorYellow End With End Sub

Bạn sẽ giúp sự phát triển của trang web, chia sẻ trang web với bạn bè

wave wave wave wave wave