如何在VBAexcel中的if函数中selecttable单元格?

How to select table cell in the if function in VBA excel?

我在excelsheet有一个库存管理table。演示在这里: Demo photo of this table

我想在 VBA 中创建 库存 列中的代码,并将测试整个单元格。如果任何 cell.Value < 2 和 >0 则向后转到 4 个单元格,获取此单元格的值并显示一个消息框 “落后 cell.value 和 库存不可用 ”。


我做这个很累,请帮帮我。

select table 单元格有几种方法,这里是一个'

Option Explicit

Sub CheckStock()
    Dim r As Long, n As Long, i As Integer, p As Integer
    Dim s As String

    With Sheet1.ListObjects("Table1")
        i = .ListColumns("In stock").Index
        p = .ListColumns("Product Name").Index

        For r = 1 To .DataBodyRange.Rows.Count
            n = .DataBodyRange(r, i)
            If n > 0 And n < 2 Then
                s = s & vbCrLf & .DataBodyRange(r, p)
            End If
        Next
    End With
    If Len(s) > 0 then 
        MsgBox "Products not available :" & s, vbExclamation
    End If
End Sub