【发布时间】:2016-09-28 14:51:39
【问题描述】:
有点卡在这个 VBA 上。有一段时间没有做过 VBA,所以可能需要让我放松一下 :)
简介 编写一份管理我组织中多名员工的技能和能力的文档。所有工作表(除了 home 有相同的布局和单元格组织)
问题陈述 如果此单元格 = 约克,我需要一个 VBA 来搜索一个特定单元格 (B2) 以查找工厂位置(即约克),然后我需要它将值列表(即 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$2")
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
任何帮助都将不胜感激!
【问题讨论】:
-
因为您将继续使 York: J6 依次等于每张纸的 B1,因此您不会更改要粘贴的位置。尽可能避免选择、复制和粘贴也是一种好习惯,因此请使用
Sheets("York").Range("J6").Value = sh.Range("B1").Value(可能会随时更改 J6)。