Добавьте строки ниже строки 1, заполните первую ячейку docvariable и приращением - PullRequest
0 голосов
/ 02 апреля 2019

Решил мою собственную проблему.Мне нужно было сначала проверить, были ли ячейки столбца 2 пустыми, и если это так, удалить указанную строку.Это вызвало проблемы из-за слияния последней строки таблицы.Затем мне нужно было добавить строки ниже первой строки, чтобы сохранить 4 столбца в каждой строке в таблице на основе выбора пользователем ArraySize в пользовательской форме.Затем заполните первую ячейку в каждой строке 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

1 Ответ

0 голосов
/ 03 апреля 2019

Разместил мой рабочий код в оригинальном сообщении.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...