我是全新的,以VBA,我试图写一个宏来拉在同一个目录下的所有工作簿特定的数据到主簿。 尝试使用变量来选择数据的范围,这样我可以将数据复制并粘贴到主簿时,我被卡住。 我一直在看录像,并通过论坛读书,但似乎无法得到宏工作。
我有一个Excel工作表,该目录的员工在列A中,与所有我想复制有关在B,C,d,E,和F列中的雇员的数据(在随后的行)。 因此,例如,行1包含在单元格A1中第一个雇员,然后行2至5包含通过F.第6行包含在细胞A6下一雇员的名字在B柱中的数据,以及关于它们的数据通过位于行7 9(列BF)。 我要复制的行2-5,并将其粘贴到主簿,然后复制7-9和粘贴到主,8-14,等等等等。
我第一次尝试是定义两个变量为整数。 然后我试图找到在A列中第一个雇员的名字后选择该行,并设置第一个变量等于该行。 然后找第二个雇员的名字,之前选择该行,并设置变量2等于该行。 然后用这两个变量选择的范围。 下面是我的代码如下所示:
Sub SelectConsultantData()
Dim Consultant1 As Integer, Consultant2 As Integer
Dim ConsultantRange As Range
Columns("A:A").Select
Selection.Find(What:="Andrew", After:=ActiveCell, LookIn:=xlValues, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Activate
Consultant1 = Rows(ActiveCell.Row).Select
Consultant1 = Consultant1 + 1
Columns("A:A").Select
Selection.Find(What:="Bob", After:=ActiveCell, LookIn:=xlValues, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Activate
Consultant2 = Rows(ActiveCell.Row).Select
Consultant2 = Consultant2 - 1
Set ConsultantRange = Range(Consultant1, Consultant2).Select
End Sub
任何想法,我做错了,或者任何人能想到更好的办法吗? 也请让我知道如果我需要提供更详细的上下文。
在此先感谢您的帮助。