2016-09-22 64 views
0

我已經通過VBA將表格從Word導入Excel,我打算根據Word文檔中來自哪張表格來重命名錶格。但是,如果在Word中一個頁面有超過1臺(即2,3個或更多),它會無法正常重新命名的網頁(只有第一張是正確命名)未能在Excel VBA中使用Word頁面號命名錶格

可有人告訴我解決這個經常性問題的正確方法是什麼?

這是我正在使用的代碼。謝謝!

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 

pageNumber = .Range.Characters(1).Information(wdActiveEndPageNumber) 
ActiveSheet.Name = "Page " & pageNumber 
    End With 
    Sheets.Add 
    resultRow = 2 

Next tableStart 

回答

0

OP的澄清後可進行編輯

必須區分每個工作表的名稱,因爲工作表是在給定的工作簿

工作表的集合既然你有可能聚集在同一個頁面多個表從表頁碼這頁表櫃檯,像工作表名稱如下:

Dim tablePageNumber As Long, PageNumber As Long, tableCode As Long 

With .Tables(tablestart) 
    tablePageNumber = .Range.Characters(1).Information(wdActiveEndPageNumber) 
    If tablePageNumber <> PageNumber Then 
     pageNumber = tablePageNumber 
     tableCode = 1 
    Else 
     tableCode = tableCode + 1 
    End If 
End With 
ActiveSheet.Name = "Page " & pageNumber & "-" & tableCode 
+0

爲什麼一定w^e區分每個工作表名稱?我可以知道爲什麼不可能有2個ADJACENT工作表與SAME名稱?這是我原本想要做的第一個地方... – NewLearner

+0

我將如何做一個表格櫃檯的同一頁?例如,如果說第42頁有3個表格,我如何使標籤名稱爲「頁面42-1」,「頁面42-2」和「頁面42-3」?非常感謝您的幫助 – NewLearner

+0

請參閱編輯的代碼。我的第一個答案已經實現了你的_original_問題,所以請將其標記爲已接受。謝謝 – user3598756

相關問題