我有许多MS字表和11科尔,我需要编辑。
每个文档将包含一个表。
我想编辑一张从11所学校到6所中学的表格。
执行下列任务的VBA:
H 210G 211我已经列出了编辑表格的顺序,我认为这将是最好的,但这真的不重要。
我不知道在没有删除标题的情况下,cols 2,3,5中的文本是否可以被删除。
最后,我想我可以输入新的标题,在科尔2,3,5中,如果这些标题被删除时,在这些科尔的文本被删除。
谢谢你的帮助。
发布于 2014-08-24 16:57:14
希望这能帮上忙
Option Explicit
Private Sub myTableMacro()
Dim tmpTable As Word.Table, tmpRange As Word.Range
With ActiveDocument
If .Tables.Count > 0 Then
For Each tmpTable In .Tables
'Rename col 2 heading from Time to Item
tmpTable.Cell(1, 2).Range.Text = "Item"
'Rename col 3 heading from Time Zone to Comment
tmpTable.Cell(1, 3).Range.Text = "Comment"
'Rename col 5 heading from Type to E or A
tmpTable.Cell(1, 5).Range.Text = "E or A"
'Delete all text in cols 2, 3 (but not the headers)
Set tmpRange = .Range(tmpTable.Cell(2, 2).Range.Start, tmpTable.Cell(tmpTable.Rows.Count, 3).Range.End)
tmpRange.Select
Selection.Delete Unit:=wdCharacter, Count:=1
'Delete all text in cols 5 (but not the headers)
Set tmpRange = .Range(tmpTable.Cell(2, 5).Range.Start, tmpTable.Cell(tmpTable.Rows.Count, 5).Range.End)
tmpRange.Select
Selection.Delete Unit:=wdCharacter, Count:=1
'Delete cols 10, 11
Set tmpRange = .Range(tmpTable.Cell(1, 9).Range.Start, tmpTable.Cell(1, 11).Range.End)
tmpRange.Select
Selection.Cells.Delete wdDeleteCellsEntireColumn
'Delete cols 6, 7, 9
Set tmpRange = .Range(tmpTable.Cell(1, 6).Range.Start, tmpTable.Cell(1, 7).Range.End)
tmpRange.Select
Selection.Cells.Delete wdDeleteCellsEntireColumn
Next 'tmpTable
End If
End With
Set tmpRange = Nothing
Set tmpTable = Nothing
End Sub我测试过了,发现没问题。
https://stackoverflow.com/questions/10775997
复制相似问题