根据查找值将值从一张表匹配并粘贴到另一张表中

Posted

技术标签:

【中文标题】根据查找值将值从一张表匹配并粘贴到另一张表中【英文标题】:Match and paste value from one sheet into another based on a Lookup value 【发布时间】:2022-01-24 07:10:40 【问题描述】:

我有两张纸,账单和对账,在 B 列中都有账单 ID。我需要的是一个 vba 代码,它将从对账表的 P、Q 和 W 列复制值并将这些值粘贴到 P、Q 列和 W 的工作表票据针对相同的票据 ID。在 Sheet Reconciliation Bill Id 从 Row21 开始并且可以是动态的,因此将使用最后一行函数。在表 Bills Bill id 从 B2 开始,可以到 B100000 或更多

Dim wb As Workbook: Set wb = ThisWorkbook
Dim wsDisp As Worksheet: Set wsDisp = wb.Worksheets("Reconciliation")


Dim a As String
Dim b As String
Dim c As String
Dim e As Long
Dim F As String




 Application.ScreenUpdating = False

 a = wsDisp.Cells(19, 16).Value
 b = wsDisp.Cells(19, 17).Value
 c = wsDisp.Cells(19, 23).Value


e = MsgBox("Do You Wish to Save Recovery ? " & vbNewLine & "GIDC PAID = " & a & vbNewLine & "GST PAID = " & b & vbNewLine & " LPS PAID = " & c, vbYesNo)


If e = vbNo Then Exit Sub



   For i = 21 To 400
   
    
       Sheets("Bills").Cells(Cells(i, 2), 16) = Sheets("Reconciliation").Cells(i, 16)
       Sheets("Bills").Cells(Cells(i, 2), 17) = Sheets("Reconciliation").Cells(i, 17)
       Sheets("Bills").Cells(Cells(i, 2), 23) = Sheets("Reconciliation").Cells(i, 23)

    

  Next

Application.ScreenUpdating = True

调节表

帐单

【问题讨论】:

您显示的代码有什么问题?它会引发错误吗?如果是,什么错误,在哪一行?如果不是,它对你的需要有什么(不是)? 不能只使用VLOOKUP功能吗?见support.microsoft.com/en-us/office/… 【参考方案1】:

我有类似的情况,并且有适合我的解决方案,如果 Bill NR 上升,我在这种情况下使用 VLookup。

您可以制作记录宏来获取 VLookup 并使用此复制功能来获取工作表中的值。

Range("P21").Select
    ActiveCell.FormulaR1C1 = _
        "=VLOOKUP(RC[-10],Reconciliation shee!R2B1:R10000P5,5,FALSE)"
    Range("P21").Select
    Selection.AutoFill Destination:=Range("P21:P" & LastRow), Type:=xlFillDefault
    Range("P21:P" & LastRow).Select
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False

【讨论】:

以上是关于根据查找值将值从一张表匹配并粘贴到另一张表中的主要内容,如果未能解决你的问题,请参考以下文章

如何在 OpenOffice 中将一列单元格从一张表插入到另一张表的单个单元格中?

循环遍历一张表中的列值并将另一列中的 COUNTIF 值粘贴到另一张表中

将每个唯一值从一张纸复制并粘贴到另一张纸上

谷歌脚本:根据TRIGGER将公式计算的值从一张纸复制到另一张(编辑或时间驱动)

Oracle中的多行插入查询(从一张表中选择多行并插入到另一张表中[重复]

SQL TRIGGER 更新时从一张表到另一张表