首页 文章

从两张纸匹配单元格值并粘贴到满足值的位置,从下面的一个单元格开始

提问于
浏览
2

我是VBA的新手,我正在使用Microsoft Office Excel 2007,我阅读了论坛,但这对我来说似乎不可能 . 我有当前的代码复制工作表并在日期中添加一天,并复制包含工作表中重要信息的一系列单元格,以便能够将其粘贴到具有实时信息的日历中,我需要将其粘贴到date是相同的,并且一个单元格低于该值可以位于某个范围内的任何位置 .

Sub CopierPetete()
 ActiveWorkbook.ActiveSheet.Copy _
        After:=ActiveSheet
    'update date
        [J1].Value = [J1].Value + 1

   'THIS IS MY POOR ATTEMPT TO MAKE IT WORK
    If Sheets("Sheet5").Range("A1:K100").Value = ActiveSheet.Range("J1").Value Then _  

        ActiveSheet.Range("AA100:AC121").Select
            Selection.Copy
        Sheets("Sheet5").Select
            Sheets("Sheet5").Pictures.Paste Link:=True

    End If

End Sub

我需要它来匹配 ActiveAheet 单元格 J1 中的值与 Sheet5 上的任何单元格,并粘贴为 Pictures.Paste Link=True (或者,如果您有更好的方法来显示实时信息),请在满足值的地方 Sheet5 ,下面有一个单元格 .

这是a link to the project

1 回答

  • 1

    如果我理解得很好,你打算做的是检查ActiveSheet> cell J1的值是否存在于A1到K100范围内名为"Sheet5"的Sheet中 . 意味着,如果Excel找到任何与A1到K100匹配J1值的单元格,请复制粘贴图片 .

    这是一个尝试:

    Sub CopierPetete()
        Dim rFind as Range
    
        ActiveWorkbook.ActiveSheet.Copy _
            After:=ActiveSheet
        'update date
            [J1].Value = [J1].Value + 1
    
        'Find returns a range object, so we use Set
        Set rFind = Worksheets("Sheet5").Range("A1:K100").Find(ActiveSheet.Range("J1").Value, LookIn:=xlValues, lookAt:=xlWhole)
    
        If Not rFind is Nothing Then
            ActiveSheet.Range("AA100:AC121").Copy
            Worksheets("Sheet5").Activate
            Worksheets("Sheet5").Range(rFind.Address).Offset(0, 1).Activate
            Worksheets("Sheet5").Pictures.Paste Link:=True
        End If
    End Sub
    

相关问题