簡體   English   中英

如果A列包含x AND B列包含y然后添加值

[英]If column A contains x AND column B contains y THEN add value

我對宏非常陌生(現在已經有幾天了!),但是我卻慢慢地完成了工作。 我想創建一個宏,如果列D包含文本“(2)”並且列AG包含文本“ Adult”,則將值2 添加到單元格。

我創建了一個宏,到目前為止,如果D列包含文本“(2)”,則將單元格的值更改為5(而不是添加到其中)-我花了一些時間弄亂“ And”函數,但是我似乎找不到一種方法可以同時考慮D列中的“(2)”文本 AG列中的“成人”文本(我只能使其搜索一個或另一個) 。

這是我的嘗試(這不包括我失敗的任何包含“成人”文本的嘗試):

Sub BUBFindGuests()
    Dim SrchRng As Range
    lastRow = Range("D" & Rows.Count).End(xlUp).Row
    Set SrchRng = Range("D1:D" & lastRow, "AG1:AG" & lastRow)
    For Each cel In SrchRng
        If InStr(1, cel.Value, "(2)") > 0 Then
            With cel.Offset(0, 39)
                .Offset(-1, 0) = "5"
            End With
        End If
    Next cel
End Sub

我基本上只是想弄清楚如何從AG列中包含“成人”文本,以及如何使宏添加而不是更改最終值。 我也相對確定我的代碼的某些部分是不必要的或笨拙的,但是根據我的經驗水平,我不確定如何更正該問題。 任何幫助將非常感激。

根據您的代碼判斷,您想在C列中添加 2,如果是這種情況,這應該可以解決問題:

Sub BUBFindGuests()

lastRow = Sheets("SHEETNAME").Range("D" & Rows.Count).End(xlUp).Row

For x = 1 to lastRow
  If InStr(1, Sheets("SHEETNAME").Cells(x, 4), "(2)") <> 0 _ 'Checks column D
  And Instr(1, Sheets("SHEETNAME").Cells(x, 33), "Adult") <> 0 Then 'Checks column AG
    Sheets("SHEETNAME").Cells(x, 3).Value = _
    Sheets("SHEETNAME").Cells(x, 3).Value + 2 'Change 3 to the appropriate column 
  End If
Next x

End Sub

您可以像搜索(2)一樣搜索Adult 只需兩次使用InStr函數並將結果布爾值組合在一起。 您可以通過兩種方式來做到這一點,用And邏輯或嵌套兩個if語句:

  • If InStrResult1 **And** InStrResult2 Then 'do stuff End If
  • If InStrResult1 Then If InStrResult2 Then 'do stuff End If End If

對不起,形成不好。

然后,您可以將單元格的當前值存儲在變量中。 然后將2添加到該變量( myVariable = myVariable + 2 ),然后將其值設置為您的單元格,而不是5。

編輯:原來我誤讀了你的問題。 請參閱修訂的代碼。

Sub BUBFindGuests()

    Dim SrchRng As Range
    lastRow = Range("D" & Rows.Count).End(xlUp).Row
    Set SrchRng = Range("D1:D" & lastRow, "AG1:AG" & lastRow)
    For Each cel In SrchRng

        If InStr(1, cel.Value, "(2)") > 0 And InStr(1, cel.Value, "Adult") > 0 Then cel.Offset(-1, 39).Value = .Offset(-1, 0).Value & "5"

    Next cel

End Sub

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM