Hallo,
Ik ben nieuw hier en ben sindskort bij een nieuwe werkgever veel met Excel bezig. Ik zit echter nu met het volgende probleem waar ik zelf niet uitkom.
Beschrijving:
Collega`s van mij hebben formats met tabellen in Word ingevuld en opgeslagen op SharePoint. Nu moeten de gegevens uit deze formats in Excel geplakt worden als platte tekst. Mijn voorganger heeft hiervoor een Macro gemaakt en dat heeft gewoon goed gewerkt voor fase 2 (formats 2). Nu we in fase 3 zijn aanbeland wil ik graag de gegevens uit de formats 3 in een nieuw werkblad importeren, maar dat werkt niet. Ik heb al wel de code van de Macro (van 2 naar 3) aangepast, maar ik krijg het niet voor elkaar. Zouden jullie mij kunnen helpen? In de bijlage heb ik een format (met fictieve data) geplakt. De Macro ziet er als volgt uit:
Sub ImportWordTable()
Application.Calculation = xlManual
Dim wdDoc As Object
Dim wdFileName As Variant
Dim TableNo As Integer
Dim iRow As Long
Dim jRow As Long
Dim iCol As Integer
wdFileName = Application.GetOpenFilename("Word files (*.docx),*.docx", , _
"Browse for file containing table to be imported")
If wdFileName = False Then Exit Sub
Set wdDoc = GetObject(wdFileName)
With wdDoc
If wdDoc.tables.Count = 0 Then
MsgBox "Dit document bevat geen tabellen", _
vbExclamation, "Import Word Tabel"
Else
jRow = 0
Sheets("Ruwe data Format 2").Select
Sheets("Ruwe data Format 2").Cells.Clear
For TableNo = 1 To wdDoc.tables.Count
With .tables(TableNo)
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
'Timestamp
Worksheets("Data Format 2").Calculate
Worksheets("Data Format 2").Range("A144") = "Laatste refresh"
Worksheets("Data Format 2").Range("C144") = Now()
Worksheets("Ruwe data Format 2").Range("H1") = "Laatste Macro Update"
Worksheets("Ruwe data Format 2").Range("I1") = Now()
'/Timestamp
Application.Calculation = xlAutomatic
End Sub
Ik hoop dat jullie mij kunnen helpen!
Ik ben nieuw hier en ben sindskort bij een nieuwe werkgever veel met Excel bezig. Ik zit echter nu met het volgende probleem waar ik zelf niet uitkom.
Beschrijving:
Collega`s van mij hebben formats met tabellen in Word ingevuld en opgeslagen op SharePoint. Nu moeten de gegevens uit deze formats in Excel geplakt worden als platte tekst. Mijn voorganger heeft hiervoor een Macro gemaakt en dat heeft gewoon goed gewerkt voor fase 2 (formats 2). Nu we in fase 3 zijn aanbeland wil ik graag de gegevens uit de formats 3 in een nieuw werkblad importeren, maar dat werkt niet. Ik heb al wel de code van de Macro (van 2 naar 3) aangepast, maar ik krijg het niet voor elkaar. Zouden jullie mij kunnen helpen? In de bijlage heb ik een format (met fictieve data) geplakt. De Macro ziet er als volgt uit:
Sub ImportWordTable()
Application.Calculation = xlManual
Dim wdDoc As Object
Dim wdFileName As Variant
Dim TableNo As Integer
Dim iRow As Long
Dim jRow As Long
Dim iCol As Integer
wdFileName = Application.GetOpenFilename("Word files (*.docx),*.docx", , _
"Browse for file containing table to be imported")
If wdFileName = False Then Exit Sub
Set wdDoc = GetObject(wdFileName)
With wdDoc
If wdDoc.tables.Count = 0 Then
MsgBox "Dit document bevat geen tabellen", _
vbExclamation, "Import Word Tabel"
Else
jRow = 0
Sheets("Ruwe data Format 2").Select
Sheets("Ruwe data Format 2").Cells.Clear
For TableNo = 1 To wdDoc.tables.Count
With .tables(TableNo)
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
'Timestamp
Worksheets("Data Format 2").Calculate
Worksheets("Data Format 2").Range("A144") = "Laatste refresh"
Worksheets("Data Format 2").Range("C144") = Now()
Worksheets("Ruwe data Format 2").Range("H1") = "Laatste Macro Update"
Worksheets("Ruwe data Format 2").Range("I1") = Now()
'/Timestamp
Application.Calculation = xlAutomatic
End Sub
Ik hoop dat jullie mij kunnen helpen!