【问题标题】:If a cell inside a range is the same as a string, do calculation in the cell under it如果范围内的单元格与字符串相同,则在其下的单元格中进行计算
【发布时间】:2015-03-03 05:38:17
【问题描述】:

我正在尝试在 VBA 中编写一个宏。 我希望我的宏检查单元格范围内的值是否与另一个单元格的值相同。然后我希望它识别单元格并在该单元格下的单元格中执行某些操作。

所以,我想检查 B2:M6 范围是否有一个与 A1 具有相同值的单元格。对于单元格 D6 是否如此,我想对其下的单元格执行计算,在本例中为 B7。

目前我只能检查范围内的值,但现在我不知道该怎么做。

Sub CellCheck()
Dim DateString As String
DateString = Range("A1")

    result = IsNumeric(WorksheetFunction.Match(DateString, Range("B6:M6"), 0))
    If result = True Then MsgBox "It is True"
End Sub

【问题讨论】:

  • 您获得了 B2:M6 范围,并且您想将此范围内的每个单元格值与 A1 进行比较。您提供了示例:您检查 D6,如果 D6 = A1,您想在下面的单元格中进行一些计算,因此在这种情况下为 D7。但是你写了B7。这是错误吗?
  • 是的,我想对等于单元格 A1 的一个 belo 进行计算

标签: vba excel


【解决方案1】:

您可以使用 .FIND() 或简单的循环:

Sub FindIt()
    Dim V As Variant, rBig As Range, r As Range
    V = Range("A1").Value
    Set rBig = Range("B2:M6")
    For Each r In rBig
        If r.Value = V Then
            r.Offset(1, 0) = "XXX"
        End If
    Next r
End Sub

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多