消息框告诉我列表中的哪些项目缺少数据(如果有)

时间:2015-07-02 09:53:27

标签: vba excel-vba excel

亲爱的所有人:我正在处理一个包含19列的工作表。我在A栏中有我的项目名称。如果任何项目的列S(箱子数量)中的值是= 0(零)。我希望消息框告诉我他们在列表中的哪些项目,或者只是写在消息框上。这样我就可以直接进入项目并插入正确的数据。

e.g。请注意,以下项目的零数量为零:

  • Trouser A / L
  • Wine FS3

我知道如何创建一个消息框。但是,我不知道如何制定逻辑。有人可以帮帮我吗? 非常感谢提前

2 个答案:

答案 0 :(得分:0)

下面应该有效。如果活动表不在活动表上,则更改活动表

Sub t()

With ActiveSheet
    For Each cell In .Range("A1:" & .Range("A1").End(xlDown).Address)
        If cell.Offset(0, 18).Value = 0 Or IsEmpty(cell.Offset(0, 18).Value) Then
            Temp = Temp & cell.Value & ", "
        End If
    Next
End With

if Temp <> "" then MsgBox "The following have no Qty :" & Left(Temp, Len(Temp) - 2)

End Sub

答案 1 :(得分:0)

在这里,我找到了一个给你。

Dim dataSheet As Worksheet
Dim row As Integer
Dim itemList As String

'Set your data sheet
Set dataSheet = Sheet1

row = 1

'We can't know how many row. So, I check only blank cell for item name.
'If not sufficient, tell me more.
Do While dataSheet.Range("A" & row) <> ""

    'If quantity is 0 or empty, add to list
    If dataSheet.Range("S" & row) = 0 Or dataSheet.Range("S" & row) = "" Then

        If itemList <> "" Then
            itemList = itemList & vbNewLine
        End If

        itemList = itemList & "Row: " & row & ", " & "Item: " & dataSheet.Range("A" & row)

    End If

    row = row + 1

Loop

'Show list in MsgBox
If itemList <> "" Then

    Call MsgBox("The following item(s) have no Qty:" & vbNewLine & itemList, vbInformation, "Checking Item Quantity")

End If