VBA查找一个范围内的多个项目,并根据行中的其他条件将相邻单元格复制并粘贴到另一个工作表中

VBA查找一个范围内的多个项目,并根据行中的其他条件将相邻单元格复制并粘贴到另一个工作表中,vba,excel,find,worksheet,Vba,Excel,Find,Worksheet,我有3个选项卡,用于解决我试图使用VBA自动化的特定问题 表单选项卡:用户从下拉列表中选择最多10个需要访问的不同实体(范围A25:A34) FLS层次结构:该选项卡是公司内所有实体的层次结构,从级别1(最高/父级)到级别10(最低子级)。范围A:D(A列为级别,B列为实体,与表格选项卡下拉列表中选择的各种实体相匹配,C列为实体描述,D列为需要复制到第1页的Sec类) Sheet1:此选项卡用于管理员,用于根据表单选项卡中选择的实体从FLS层次结构选项卡中查找必要的安全类。范围A1:J1。安全类

我有3个选项卡,用于解决我试图使用VBA自动化的特定问题

表单选项卡:用户从下拉列表中选择最多10个需要访问的不同实体(范围A25:A34)

FLS层次结构:该选项卡是公司内所有实体的层次结构,从级别1(最高/父级)到级别10(最低子级)。范围A:D(A列为级别,B列为实体,与表格选项卡下拉列表中选择的各种实体相匹配,C列为实体描述,D列为需要复制到第1页的Sec类)

Sheet1:此选项卡用于管理员,用于根据表单选项卡中选择的实体从FLS层次结构选项卡中查找必要的安全类。范围A1:J1。安全类将被复制到从表单选项卡派生的每个变量下(最多10个实体,与表1上的J列相关)

我知道我需要创建某种循环来实现这一点。简而言之,VBA脚本需要从表单选项卡中标识实体(最多10个),根据需要将它们粘贴到A1:J1范围内,然后通过一个循环,从A1开始获取相应的实体,并在FLS层次结构选项卡中查找实体。在“层次结构”选项卡中找到每个实体后,它需要在“层次结构”选项卡上确定其级别(A列)。例如,如果级别为6级,VBA脚本需要为找到实体的那一行获取安全类,然后为其下的实体获取安全类,直到找到下一个6级安全类,然后需要在那里停止(上移一行以不包括下一个6级)。在本例中,如果您发现级别为6,并且下面的下一个实体也是6,则VBA脚本只需要获取一个安全类(第一个变量的d列)

下面是我到目前为止所做的,但我显然需要更多的帮助才能完成

Sub SecurityClasses()
'
' SecurityClasses Macro
' Based off entity selected in Form tab determine the security classes needed for user.
'
Sheets("Sheet1").Range("A:AZ").ClearContents
Sheets("Form").Activate

Range("A25").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Sheets("Sheet1").Cells(1, 1).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,      SkipBlanks:= _ False, Transpose:=True

你可以发电子邮件给我你的文件,我会看一看