簡體   English   中英

宏:如果滿足條件,則復制粘貼單元格

[英]macro: copy paste cell if condition met

只需執行一個步驟,即可更新database_ gudang中的庫存編號(列“ D”)(database_ gudang中的庫存已添加到來自form_penerimaan的收據金額(列“ K”)中)

更新基於項目名稱(nama barang),因此,如果form_penerimaan中的項目名稱(列“ C”)與database_ gudang中的項目名稱(列“ B”)相同,database_ gudang中的庫存將更新。

但是有一個問題,僅在第2、9、10行(黃色單元格)中進行了更新。 3,4,5行也應更新。

非常感謝您的幫助。

問候。

Sub Module1()
    s = 10
    OT1 = Sheets("Database_Gudang").Cells(Rows.Count, "D").End(xlUp).Row

    For j = 2 To OT1
        NB1 = Sheets("Database_Gudang").Cells(j, "B").Value

        Sheets("Form_Penerimaan").Activate
        If Cells(s, "C").Value = NB1 And Cells(s, "C").Value <> "" Then
            Sheets("Form_Penerimaan").Cells(s, "Q").Copy

            Sheets("Database_Gudang").Activate
            Sheets("Database_Gudang").Cells(j, "G").Select
            Selection.PasteSpecial Paste:=xlPasteValues

            s = s + 1
        End If
    Next j
End Sub

在此處輸入圖片說明

嗨,歡迎來到stackoverflow :)

避免使用.Select.Activate 直接使用變量和對象。 您可能需要查看如何避免在Excel VBA中使用“選擇”

您正面臨該問題,因為您沒有在第二張工作表的單元格中循環。

這是您要嘗試的嗎?

我已經注釋了代碼,因此您可能對理解它沒有任何問題。 如果您願意,請分享確切的錯誤消息,我們將從那里獲取。

Sub Sample()
    Dim wsThis As Worksheet, wsThat As Worksheet
    Dim i As Long, j As Long
    Dim wsThisLRow As Long, wsThatLRow As Long

    '~~> Set your worksheets
    Set wsThis = ThisWorkbook.Sheets("Database_Gudang")
    Set wsThat = ThisWorkbook.Sheets("Form_Penerimaan")

    '~~> Find relevant last row in both sheets
    wsThisLRow = wsThis.Range("D" & wsThis.Rows.Count).End(xlUp).Row
    wsThatLRow = wsThat.Range("C" & wsThat.Rows.Count).End(xlUp).Row

    With wsThis
        '~~> Loop through cell in Database_Gudang
        For i = 2 To wsThisLRow
            '~~> Loop through cell in Form_Penerimaan
            For j = 10 To wsThatLRow
                '~~> Compare values and get values across if applicable
                If .Range("B" & i).Value = wsThat.Range("C" & j).Value Then
                    .Range("G" & i).Value = wsThat.Range("Q" & j).Value
                    Exit For
                End If
            Next j
        Next i
    End With
End Sub

暫無
暫無

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

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