尝试拆分范围内的单元格时出现不匹配错误

问题描述 投票:0回答:1

我正在尝试运行邮件合并,并且如果该行的最后一个单元格为空,我想删除每个表中标题旁边的所有行。

这是我遇到不匹配错误的行:

If Split(.Cell(r, c).Range.Text, vbCr) = 0

以下是子:

Sub Delete_row_if_last_cell_is_blank()
Application.ScreenUpdating = False
Dim Tbl As Table, r As Long, c As Long
ActiveDocument.MailMerge.Execute
With ActiveDocument
  For Each Tbl In .Tables
    With Tbl
      c = .Columns.Count
      For r = .Rows.Count To 2 Step -1
        If Split(.Cell(r, c).Range.Text, vbCr) = 0 Then .Rows(r).Delete
      Next
    End With
  Next
End With
Application.ScreenUpdating = False
End Sub

我尝试将结果设置为空或“”,但仍然不起作用。

excel vba ms-word mailmerge docx-mailmerge
1个回答
0
投票

Split 返回拆分项的数组。因此,而不是

Split(.Cell(r, c).Range.Text, vbCr) = 0

使用

Ubound(Split(.Cell(r, c).Range.Text, vbCr)) = 0

给出数组的顶部索引值。

© www.soinside.com 2019 - 2024. All rights reserved.