繁体   English   中英

根据特定值清除表格中整列的单元格内容

[英]Clear cell content for the entire column in table, based on a specific value

我只需要清除启用宏的 excel 文件的 D 列(整个 D 列)中的单元格中的内容,

其中单元格值 = 999。

我只为一个单元格(例如 D3)尝试了 VBA 代码,它有效:

       Private Sub Workbook_BeforeClose(Cancel As Boolean)

        If Range("D3") = 999 Then
           Range("D3").ClearContents
        End If

       End Sub

但我需要它在整个 D 列中工作,对于在 excel 表中创建的任何新行

尝试了另一个 VBA,但收到错误消息:“Object 全局的方法范围失败”

我确定我的代码中存在错误或缺少某些内容:

      Private Sub Workbook_BeforeClose(Cancel As Boolean)

         Dim myRange As Range

         If Range("myRange").Columns(4).Value = 999 Then
            Range("myRange").Columns(4).ClearContents
         End If

      End Sub

如果要清除所有列(工作表的,而不是 Table/ListObject 的),请使用下一个改编代码:

 Private Sub Workbook_BeforeClose(Cancel As Boolean)
    If Worksheets("mySheet").Range("D3") = 999 Then
       Range("D3").EntireColumn.ClearContents
    End If
 End Sub

请在存在范围的地方使用您的真实工作表名称而不是“mySheet”。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM