VBA 搜索值然后从一个工作表传输数据

VBA to search value then transfer data from one worksheet

有点卡在这个 VBA 上。有一段时间没做 VBA 所以可能需要让我放松一下 :)

简介 在管理我组织中多个员工的技能和能力的文档上工作。所有工作表(主页除外,具有相同的布局和单元格组织)

问题陈述 我需要一个 VBA 来搜索一个特定单元格 (B2) 以查找工厂位置(即 York),如果此单元格 = York,然后我需要它来将值列表(即 B2)复制并粘贴到一系列值中同一工作簿中名为 "York" 的另一个工作表上的单元格。然后我需要它循环遍历文档中的所有工作表(有点像遍历所有员工;每个员工都会有一个新的工作表)以获取单元格值 York,并将这些单元格复制并粘贴到工作表 York 的下一个空行中。我似乎无法通过 运行 的循环,但在编写代码后我什至无法使用复制粘贴功能。

有人愿意接受挑战。 这是我当前的代码。我知道很穷。

Sub testv2()

Dim ws As Worksheet
Dim sh As Worksheet
Dim rng As Range
Dim c As Range

Set ws = Sheets("MATRIX - MASTER")
"Matrix-master was template copy for all skills"
Set rng = ws.Range("$B")

For Each sh In Sheets
    For Each c In rng.Cells
        If rng.Value = "York" Then
            ActiveWorkbook.Range("B1").Copy
            Sheets("York").Select
            ActiveWorkbook.Range("J6").Paste
        End If
    Next c
 Next sh


End Sub

如有任何帮助,我们将不胜感激!

我不明白你想做什么。

  1. rng 在 "MATRIX - MASTER" 上设置为一个单元格 sheet“$B$2” 你为什么用 for each 循环它?

  2. 我想你应该写而不是:ActiveWorkbook.Range("J6").Paste

</p> <pre><code>ActiveSheet.Range("B1").Copy ' source ActiveWorkbook.Sheets("York").Range("J6").Paste ' target

工作簿级别的范围由 mamed 范围使用。

  1. 尽量避免Select...如果必须,请使用激活。