【问题标题】:VBA clear content of rows next to cellsVBA清除单元格旁边的行内容
【发布时间】:2018-06-13 19:15:36
【问题描述】:

特定列中的每个单元格要么包含“x”,要么为空。我想创建一个查找所有 x 的 sub,然后删除同一行右侧所有单元格的内容。我不确定如何在下面的 IF 语句中正确选择和清除行的内容。非常感谢任何帮助。

    Sub clearContents()
        With Sheets("Main")
            Dim c As Range
            For Each c In Range("B1:B23")
                If c.Value = "x" Then
                    c.Offset(0, 1).End(xlToRight).clearContents
                End If
            Next c
         End With
    End Sub

【问题讨论】:

    标签: excel vba


    【解决方案1】:

    试试这个。顺便说一句,您在 With 语句所需的 Range 前面缺少一个点。

    Sub clearContents()
        Dim c As Range, c1 As Long
        With Sheets("Main")
            For Each c In .Range("B1:B23")
                If c.Value = "x" Then
                    c1 = Cells(c.Row, Columns.Count).End(xlToLeft).Column
                    If c1 > 2 Then c.Offset(0, 1).Resize(, c1 - 2).clearContents
                End If
            Next c
         End With
    End Sub
    

    【讨论】:

    • 我知道这是一个旧线程,但这完全只是帮助我摆脱困境 - 感谢这个伟大的解决方案!
    猜你喜欢
    • 2018-07-08
    • 1970-01-01
    • 2013-11-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-17
    相关资源
    最近更新 更多