Consulting

Results 1 to 9 of 9

Thread: Word table

Threaded View

Previous Post Previous Post   Next Post Next Post
  1. #1
    Banned VBAX Newbie
    Joined
    Sep 2019
    Posts
    4
    Location

    Word table

    Hello,

    I'm trying to get VBA in Excel open a Word Doc and after finding a specific word to go to the 1st table below that word and copy specific cells from it back to Excel.

    For example, if the specific word to be found in the Word Document is "Apples", the Excel VBA should target the 1st table below that specific word (which can be the 2nd table in the Word Document) and get some cells from it back to Excel. So I'm guessing that something like a complete search in the entire Word Document should be done to look for "Apples", then create a range to count the tables from that point until the end of the document. Once this is done some cells from the first table after the searched word was found should be copied into Excel.

    Below is what I've tried so far, any suggestions would be much appreciated !
    Cheers !

    Sub Test()

    Dim ws As Worksheet
    Dim objWord AsObject
    Dim i AsInteger
    Dim strValue AsString
    Dim wdApp AsNew Word.Application, wdDoc As Word.Document, wdTbl As
    Word
    .Table
    Set objWord = CreateObject("Word.Application")

    objWord
    .Visible =True
    objWord
    .Documents.Open "C:\Users\Nigel\Desktop\Test2.docx"

    objWord
    .Activate


    With objWord.Selection.Find
    .Text ="Test"
    If objWord.Selection.Find.Text >0Then
    MsgBox
    "Found"

    TableStart
    = Selection.Tables(1).Range.Start
    Selection
    .GoTo wdGoToTable, wdGoToNext,1
    If Selection.Tables(1).Range.Start = TableStart ThenExitSub

    Selection
    .GoToNext wdGoToTable = a
    Dim x AsLong, y AsLong
    x
    =8: y =1
    With.Tables(a)
    For rowNb =1To1
    For colNb =2To2
    Cells
    (x, y)= WorksheetFunction.Clean(.Cell(rowNb, colNb).Range.Text)
    y
    = y +1
    Next colNb
    y
    =1
    x
    = x +1
    Next rowNb
    EndWith
    x
    = x +2



    Else
    MsgBox
    "Didn't"

    EndIf
    EndWith

    EndSub
    Last edited by nigel1; 09-16-2019 at 01:53 PM.

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •