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
如有任何帮助,我们将不胜感激!
我不明白你想做什么。
rng 在 "MATRIX - MASTER" 上设置为一个单元格 sheet“$B$2”
你为什么用 for each 循环它?
我想你应该写而不是:ActiveWorkbook.Range("J6").Paste
</p>
<pre><code>ActiveSheet.Range("B1").Copy ' source
ActiveWorkbook.Sheets("York").Range("J6").Paste ' target
工作簿级别的范围由 mamed 范围使用。
- 尽量避免Select...如果必须,请使用激活。
有点卡在这个 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
如有任何帮助,我们将不胜感激!
我不明白你想做什么。
rng 在 "MATRIX - MASTER" 上设置为一个单元格 sheet“$B$2” 你为什么用 for each 循环它?
我想你应该写而不是:ActiveWorkbook.Range("J6").Paste
</p>
<pre><code>ActiveSheet.Range("B1").Copy ' source
ActiveWorkbook.Sheets("York").Range("J6").Paste ' target
工作簿级别的范围由 mamed 范围使用。
- 尽量避免Select...如果必须,请使用激活。