实例需求:Word中的表格如下图所示,为了强化记忆,希望能够将表格内容随机排序,表格第一列仍然按照顺序编号,即编号不跟随表格行内容调整。
乱序之后的效果如下图所示(每次运行代码的结果都不一定相同)。
示例代码如下。
Sub SortTab()
Dim oTab As Table, aData, sTxt As String
Set oTab = ActiveDocument.Tables(1)
Dim oRow As Row, oCell As Cell, iR As Long, iC As Long
ReDim aData(1 To oTab.Rows.Count, 1 To oTab.Columns.Count)
Randomize
For Each oRow In oTab.Rows
iR = iR + 1: iC = 0
For Each oCell In oRow.Cells
iC = iC + 1
If iC = 1 Then
aData(iR, iC) = Rnd() * 10000
Else
sTxt = oCell.Range.Text
aData(iR, iC) = Left(sTxt