Вставьте Word в Excel и перенести в определенный формат - PullRequest
0 голосов
/ 21 ноября 2019

Мне нужна ваша помощь в школьном проекте. Так как я не эксперт в VBA, любая помощь в адаптации кода действительно приветствуется!

У меня есть слово с несколькими таблицами в следующем формате

enter image description here

Мне удалось импортировать его в Excel с VBA ипередайте его с помощью следующего кода:

Option Explicit

Sub ImportWordTableTranspone()

Dim wdDoc As Object
Dim wdFileName As Variant
Dim tableNo As Integer
Dim iRow As Long
Dim iCol As Integer
Dim resultRow As Long
Dim tableStart As Integer
Dim tableTot As Integer

On Error Resume Next

wdFileName = Application.GetOpenFilename("Word files (*.docx),*.docx", , _
"Browse for file containing table to be imported")

If wdFileName = False Then Exit Sub

ActiveSheet.Range("A:AZ").ClearContents

Set wdDoc = GetObject(wdFileName)

With wdDoc
    tableNo = wdDoc.tables.Count
    tableTot = wdDoc.tables.Count
    If tableNo = 0 Then
        MsgBox "This document contains no tables", _
        vbExclamation, "Import Word Table"
    ElseIf tableNo > 1 Then
        tableNo = InputBox("This Word document contains " & tableNo & " tables." & vbCrLf & _
        "Enter the table to start from", "Import Word Table", "1")
    End If

    resultRow = 1

    For tableStart = tableNo To tableTot
        With .tables(tableStart)

            For iRow = 1 To .Rows.Count
                For iCol = 1 To .Columns.Count
                    Cells(resultRow, iCol) = WorksheetFunction.Clean(.cell(iRow, iCol).Range.Text)
                Next iCol
                resultRow = resultRow + 1
            Next iRow
        End With
        resultRow = resultRow + 1
    Next tableStart

    Worksheets("Word").UsedRange.Copy
    Worksheets("Transposed").Cells(1, 1).PasteSpecial Transpose:=True

End With

End Sub

Цель состоит в том, чтобы не просто перенести его, а получить в Excel следующим образом:

enter image description here

Кто-нибудь может мне помочь адаптировать код? Бесконечная благодарность обещана! :)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...