我已经通过VBA将表格从Word导入Excel,我打算根据Word文档中的工作表重命名工作表。但是,如果Word中的某个页面超过1个表(即2,3或更多),则无法正确重命名页面(只有第一个页面正确命名)
有人能告诉我解决这个经常性问题的正确方法是什么?
这是我正在使用的代码。谢谢!
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 :(得分:0)
在OP的澄清后编辑
您必须区分每个工作表名称,因为Worksheets是给定工作簿中的工作表集合
由于您在同一页面中有更多表格,您可以从表格页面编号和页面表格中构建工作表名称,如下所示:
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