[英]VBA If cell (or range) on sheet1 contains any value then clear content of cell range on sheet 2
I am trying to achieve something which would be quite simple for you guys but proving a bit difficult for myself as beginner. 我正在尝试实现对你们来说很简单但对初学者来说有点困难的东西。
I am try to create script for following example: 我尝试为以下示例创建脚本:
"If Cells A1:A4 on sheet1 contain ANY value (text or int) then clear A1:A4 on sheet2" “如果sheet1上的单元格A1:A4包含任何值(文本或整数),则清除sheet2上的A1:A4”
I tried to construct few scripts but all failed. 我尝试构建一些脚本,但全部失败。
Many thanks! 非常感谢!
Try this 尝试这个
Sub Clear()
If Not IsEmpty("A1") And Not IsEmpty("A2") And Not IsEmpty("A3") And Not IsEmpty("A4") Then
Range("A1:A4").Clear
End If
End Sub
How about: 怎么样:
Sub ClearCell()
Dim r As Range
For Each r In Sheets("Sheet1").Range("A1:A4")
If r.Value <> "" Then Sheets("Sheet2").Range(r.Address).Clear
Next r
End Sub
This assumes you need the check to be cell-by-cell. 假设您需要逐个单元进行检查。
Here's a one liner, the cell value is counted when it is an Empty String. 这是一个底线,当它为空字符串时,将对单元格值进行计数。
Public Sub ClearRange()
If Application.WorksheetFunction.CountIf(Range("a1:a4"), "<>") > 0 Then Range("a1:a4").ClearContents
End Sub
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.