vba - 在第 1 行下方添加行,用 docvariable 和增量填充第一个单元格
问题描述
解决了我自己的问题。我需要首先检查第 2 列单元格是否为空,如果是则删除所述行。由于表的最后一行被合并,这导致了问题。然后,我需要在第一行下方添加行,以根据用户在 userform 中选择的 ArraySize 在表中维护每行 4 列。然后用用户表单中的 docvariable 填充每行中的第一个单元格,然后在每行中递增数字。然后按降序对表格进行排序。这是我将来使用的代码。
Private Sub cbArraySize_Click()
If cbArraySize.Value <> 0 Then
DeleteRows
AddRows
AddArrayName
TableSort
End If
End Sub
Sub DeleteRows()
Dim tbl As Word.Table
Dim nrRows As Long, ColToCheck As Long, i As Long
Dim cellRange As Word.Range
Set tbl = ActiveDocument.Tables(2)
nrRows = tbl.Rows.Count - 1
ColToCheck = 2
For i = nrRows To 1 Step -1
Set cellRange = tbl.Cell(i, ColToCheck).Range
If Len(cellRange.Text) = 2 Then
cellRange.Rows(1).Delete
End If
Next i
End Sub
Sub AddRows()
With ActiveDocument
.Tables(2).Rows(1).Select
Selection.InsertRowsBelow (cbArraySize.Value)
End With
End Sub
Sub AddArrayName()
With ActiveDocument
Dim tbl As Object
Dim noOfCol As Integer
Dim i As Long
Dim intcount As Integer
Set tbl = .Tables(2)
With tbl
noOfCol = tbl.Range.Rows(1).Cells.Count
For i = .Rows.Count To 1 Step -1
With .Rows(i)
If Len(.Range) = noOfCol * 2 + 2 Then .Cells(1).Range.InsertAfter Text:=tbArrayName.Text + " - " & intcount
intcount = intcount + 1
End With
Next i
End With
End With
End Sub
Sub TableSort()
ActiveDocument.Tables(2).Sort ExcludeHeader:=True
End Sub
解决方案
在原始帖子中发布了我的工作代码。
推荐阅读
- powershell - Pester Assert-MockCalled 计数错误
- javascript - 如何在循环中添加上一个/下一个按钮?
- c# - MySQL连接没有关闭
- c# - C# - Rest Client WebProxy 配置错误
- biztalk - BizTalk:BTAHL72XReceivePipeline 管道组件
- arrays - 在nodejs中将缓冲区数据转换为字节[]
- python - XML通过python中的套接字
- android - Ktor api 不会改变和刷新
- angularjs - 检查函数是否成功执行茉莉花
- python - OpenPyXL:是否可以在 Excel 工作表中创建下拉菜单?