excel - VBA清除单元格旁边的行内容
问题描述
特定列中的每个单元格要么包含“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
解决方案
尝试这个。顺便说一句,您在 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
推荐阅读
- haskell - '[] 和 ': 在 Haskell 中是什么?
- vue.js - Vuex 操作未被识别为组件数据()中的函数
- jsp - 如何比较两个数组以在jsp中设置html多选
- python - 在 PySpark 中计算两个数据帧的值
- deeplearning4j - 如何在 deeplearning4j 中创建训练和测试 DataSetIterators?
- python - Tkinter 反转单选按钮的颜色
- r - 通过 RWordpress 和 knit2wp 从 R 发布具有自定义帖子类型的帖子
- java - 加入查询导致 UnsatisfiedDependencyException
- php - str_replace 函数是否足以保护此代码?
- swift - 与 Swift 中的父属性“描述”冲突