Microsoft Office Forums

Go Back   Microsoft Office Forums > >

Reply
 
Thread Tools Display Modes
  #1  
Old 08-18-2019, 09:27 AM
gmaxey gmaxey is offline Inserting a Table using VBA Windows 10 Inserting a Table using VBA Office 2016
Expert
 
Join Date: May 2010
Location: Brasstown, NC
Posts: 1,636
gmaxey is just really nicegmaxey is just really nicegmaxey is just really nicegmaxey is just really nicegmaxey is just really nice
Default

There is a bit here called Learn to Love ranges.




VBA Basics


Actual a table is an object (type table). Declaring a variable just makes coding easier. (I'm not formally trained so could be wrong).

Code:
Sub ScratchMacro()
'A basic Word macro coded by Greg Maxey
Dim oTbl As Object
Dim oTbl2 As Table
Dim lngIndex As Long
  For Each oTbl In ActiveDocument.Tables
    MsgBox TypeName(oTbl)
    oTbl.Range.Cells(1).Range.Text = "AAA"
    MsgBox oTbl.Rows.Count
  Next oTbl
  For Each oTbl2 In ActiveDocument.Tables
    oTbl2.Range.Cells(1).Range.Text = "BBB"
    MsgBox oTbl2.Rows.Count
  Next oTbl2
  For lngIndex = 1 To ActiveDocument.Tables.Count
    ActiveDocument.Tables(lngIndex).Range.Cells(1).Range.Text = "CCC"
    MsgBox ActiveDocument.Tables(lngIndex).Rows.Count
  Next
lbl_Exit:
  Exit Sub
End Sub
__________________
Greg Maxey
Please visit my web site at http://www.gregmaxey.com/

Last edited by gmaxey; 08-19-2019 at 04:19 AM.
Reply With Quote
  #2  
Old 08-19-2019, 03:58 AM
sts023 sts023 is offline Inserting a Table using VBA Windows 7 64bit Inserting a Table using VBA Office 2010
Hopeless Idiot
Inserting a Table using VBA
 
Join Date: Apr 2019
Location: God's Own County
Posts: 26
sts023 is on a distinguished road
Default

Thanks Greg - very informative.

As a practicing idiot, I make the following remark with a great deal of trepidation!

I think there's an oversite in your code.

Sorry!

I think
Code:
    oTbl.Range.Cells(1).Range.Text = "BBB"
should be
Code:
    oTbl.Range.Cells(1).Range.Text = "AAA"
and when executing the code in a document with three varyingly sized tables. the first two loops change Cells(1) to the new letters in each table, but the third loop only changes the Cells(1) in the first table.
Unfortunately I haven't yet grasped exactly what's going on, so if I'm right (which is by no means certain), I can't suggest a correction for the third loop.

Believe me, this is not a vanity comment.
I use sample code from Forums to help me to learn techniques and good practices, so if there IS a bug it would be helpful to future browsers to correct it, and if there ISN'T a bug, an explanation of why my my comments are wrong could prevent other people from making the same mistake.
Reply With Quote
Reply



Similar Threads
Thread Thread Starter Forum Replies Last Post
syntax for inserting blank line before inserting table and after a line or paragraph SamDsouza Word VBA 8 08-04-2019 11:10 PM
Inserting graphic in last table lodi123 Word VBA 2 07-07-2017 06:48 AM
Inserting a Table using VBA Inserting a table using ADD command snufse Word VBA 1 11-10-2015 03:28 PM
Inserting a Table using VBA Inserting table natasha_arriell Mail Merge 4 06-04-2014 12:13 AM
Inserting a table Katelyn Outlook 0 04-05-2012 09:39 AM

Other Forums: Access Forums

All times are GMT -7. The time now is 03:05 AM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2025, vBulletin Solutions Inc.
Search Engine Optimisation provided by DragonByte SEO (Lite) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.
MSOfficeForums.com is not affiliated with Microsoft