Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 如何根据列(而不是单元格)中包含的输入使用IF条件?_Vba_Excel - Fatal编程技术网

Vba 如何根据列(而不是单元格)中包含的输入使用IF条件?

Vba 如何根据列(而不是单元格)中包含的输入使用IF条件?,vba,excel,Vba,Excel,我有一个excel工作簿,其中包含两个工作表,我编写了代码,将数据从工作表1传输到工作表2。 我需要包括一个条件,检查列G是否不包含某个值。在这种情况下,我希望MsgBox显示“Check…” 活页1中的相关范围为(A3:J50),因此该条件将关注单元格G3至G50 我目前的代码是: Sub kk() Dim lastrow As Integer lastrow = [b50].End(xlUp).Row Range("b3:J" & lastrow).Copy Sheets("Da

我有一个excel工作簿,其中包含两个工作表,我编写了代码,将数据从工作表1传输到工作表2。 我需要包括一个条件,检查列G是否不包含某个值。在这种情况下,我希望MsgBox显示“Check…”

活页1中的相关范围为(A3:J50),因此该条件将关注单元格G3至G50

我目前的代码是:

Sub kk()

Dim lastrow As Integer

lastrow = [b50].End(xlUp).Row
Range("b3:J" & lastrow).Copy Sheets("Daily Rec.").Range("b" & Sheets("Daily Rec.").[b1000].End(xlUp).Row + 1)
Range("b3:j" & lastrow).ClearContents
MsgBox ("Date Posted")
Sheets("Daily Rec.").Activate
MsgBox ("Check..")

End Sub

请告知

这将有助于您开始学习。 但就像其他人提到的,我们需要更多的信息来帮助

Sub Okay()
Dim source As Range
Dim target As Range
Dim found As Range
Dim cell  As Range

    Set source = ThisWorkbook.Worksheets("Sheet 1").Range("A3:J50")
    Set target = ThisWorkbook.Worksheets("Sheet 2").Range("G3:G50")

    For Each cell In source.Cells
        Set found = target.Find(cell.Value)
        If found Is Nothing Then
            MsgBox "Check.." & vbNewLine _
            & "Cell [" & cell.Address(0, 0) & "] on sheet [" & cell.Parent.Name & "]" _
            & vbNewLine _
            & "was not found within " & vbNewLine _
            & "cell range of [" & target.Address(0, 0) & "] on sheet [" & target.Parent.Name & "]"
        End If
    Next cell
End Sub

您提供的代码缺少完整的限定条件。特别是,如果您希望使用多个工作表(如本文中所述),您应该在代码中写入要使用的工作表/复制/粘贴数据。所以,
Range(“b3:J”和lastrow).Copy
应该是类似于
工作表(“Sheet1”).Range(“b3:J”和lastrow).Copy
。这应该在您的所有代码中修复。对于筛选,我建议您使用适合您的条件对表应用筛选器。记录您正在做的事情,并为您编写VBA代码。就这么简单。让我们看看我是否理解正确。您希望从活动工作表复制范围(“b3:j”和lastrow),并将其放在工作表(“每日记录”)上。如果“G”列中的内容包含某个值,则不希望复制该行,而是通过msgbox发送消息保存。对吗?尝试以下操作:使用find方法查找G列中的值。如果存在,则发送消息,如果不存在,则复制。可能存在的重复