繁体   English   中英

如何从数据库表中提取数据并将匹配的范围粘贴到不同的表中

[英]How can I extract data from database sheet and paste matched range in different sheets

我的工作簿中有多张工作表。 我不想根据“A5:A116”中列出的范围内的工作表名称匹配从“组合”工作表中复制包含每个钻孔的 SPT 值的单元格,或者在最终数据输入到与钻孔 ID/单元格匹配的工作表之后可能更多“A5:A116”范围内的值并将其粘贴到 SPT 列下方。 这必须通过所有工作表的循环过程来继续。 还需要从匹配的单元格到要复制的范围的相对引用。 在代码中,范围 D5:D16 必须是基于单元格值的相对引用的浮动范围。 此外,粘贴范围将从matched.name工作表中SPT值下方的1个单元格开始我正在处理的代码如下,范围的相对引用似乎不起作用:

 Sub example()

 Dim wkSht As Worksheet

  For Each wkSht In Sheets

    For Each Cell In Sheets("Combine").Range("A5:A116")

        If Cell.Value = wkSht.Name Then

            On Error Resume Next

            Sheets("Combine").Range("D5:D16").Copy Destination:=wkSht.Range("D29:D52")
        End If

    Next Cell

 Next wkSht

End Sub

不同工作表中的数据提取

在此处输入图像描述

您的循环顺序不正确,并且您没有为cell声明变量,请尝试以下代码修改,它应该可以正常工作:

Sub example()

Dim wkSht As Worksheet
Dim cell As Range

For Each cell In Sheets("Combine").Range("A5:A116").Cells

    For Each wkSht In ThisWorkbook.Worksheets
    
        If cell.Value = wkSht.Name Then
       
            Sheets("Combine").Range(cell.Offset(0, 11), cell.Offset(30, 11)).Copy wkSht.Range("D29")
        End If
    
    Next wkSht

Next cell

End Sub

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM