无法在VBA中合并单元格

时间:2017-10-18 20:05:08

标签: excel vba excel-vba

因此,我正在编写一些VBA代码,该代码遍历我的文档,并查找公式返回错误的位置,并将其合并并将其与其下方的单元格对齐。

Private Sub CommandButton22_Click()
     Dim strTemp As String
     Dim ev As Variant
     Dim rng As Range, cell As Range
     Set rng = Range("H87:H89")


For Each cell In rng
    If (cell.HasFormula) Then
        cell.Select

        strTemp = ActiveCell.Formula
        ev = Evaluate(strTemp)

        If (IsError(ev)) Then
            ActiveCell.Clear
            ActiveCell.Merge ([0,1])

        End If
    End If
Next cell
End Sub

这就是我到目前为止所说的,它正确地清除了单元格但不会合并。

2 个答案:

答案 0 :(得分:1)

尝试使用:

Range(Cells(ActiveCell.Row, ActiveCell.Column), Cells(ActiveCell.Row + 1, ActiveCell.Column)).Merge

希望它有所帮助。

答案 1 :(得分:0)

像这样的东西。请注意,您很少需要选择/激活,应尽量避免使用它。

Private Sub CommandButton22_Click()

    Dim cell As Range

    For Each cell In Range("H87:H89").Cells
        If cell.HasFormula Then
            If IsError(cell.Value) Then
                cell.Clear
                cell.Resize(2, 1).Merge
            End If
        End If
    Next cell

End Sub