Buongiorno a tutti,
su un file word contenente testo ho pure circa 200 tabelle (3 righe x 10 colonne).
Ognuna di esse sulla prima colonna (in alto a sinistra) riporta il numero della tabella e sulle rimanenti colonne gli anni relativi a tre diverse tipologie di effetti.
Il mio obiettivo è quello di importare la seconda e la terza riga delle diverse tabelle per tutte e dieci le colonne su un file excel mediante una procedura VBA.
Per facilitare il compito ho messo su Onedrive un file word contenente un esempio con sole 20 tabelle mentre sul file excel ho colorato di giallo il range su cui scrivere le informazioni delle venti matrici.
grazie a tutti,
Antonino
https://onedrive.live.com/?cid=dd405b0d5a6097c5&id=DD405B0D5A6097C5%21127
Files: Test_word e Test_excel
Buongiorno a tutti,
cercando sulla rete ho trovato il seguente codice e con qualche piccolo adattamento avrei per il momento risolto :-))
saluti,
Antonino
===
Sub ImportWordTable3()
'Import all tables to a single sheet
Dim wdDoc As Object
Dim wdFileName As Variant
Dim TableNo As Integer 'table number in Word
Dim iRow As Long 'row index in Word
Dim jRow As Long 'row index in Excel
Dim iCol As Integer 'column index in Excel
wdFileName = Application.GetOpenFilename()
If wdFileName = False Then Exit Sub '(user cancelled import file browser)
Set wdDoc = GetObject(wdFileName) 'open Word file
With wdDoc
If wdDoc.tables.Count = 0 Then
MsgBox "This document contains no tables", _
vbExclamation, "Import Word Table"
Else
jRow = 0
Sheets.Add after:=Sheets(Worksheets.Count)
For TableNo = 1 To wdDoc.tables.Count
With .tables(TableNo)
'copy cell contents from Word table cells to Excel cells
For iRow = 1 To .Rows.Count
jRow = jRow + 1
For iCol = 1 To .Columns.Count
On Error Resume Next
ActiveSheet.Cells(jRow, iCol) = WorksheetFunction.Clean(.cell(iRow, iCol).Range.Text)
On Error GoTo 0
Next iCol
Next iRow
End With
jRow = jRow + 1
Next TableNo
End If
End With
Set wdDoc = Nothing
End Sub