Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel公式-脚本_Excel_Vba_Excel Formula - Fatal编程技术网

Excel公式-脚本

Excel公式-脚本,excel,vba,excel-formula,Excel,Vba,Excel Formula,我有一个任务,我有两张工作表。我在第一页的第一列中有值,我们称之为列表。我需要将第二个工作表中的所有行复制到新创建的工作表中,该工作表在第一列中具有列表的任何给定值。第二张图纸的第一列中的每个值都有多个引用。有人能帮我吗?恐怕公式在这里行不通 第一页: 可乐 可乐 1234 文本 2345 文本 创建报告(使用匹配项查找) 以下是一个中间的、效率不高的解决方案。它将尝试将源工作表的A(sCol)列中的每个值与查找工作表的A(lCol)列中的每个值进行匹配。如果匹配,源工作表中的当前单元格(sC

我有一个任务,我有两张工作表。我在第一页的第一列中有值,我们称之为列表。我需要将第二个工作表中的所有行复制到新创建的工作表中,该工作表在第一列中具有列表的任何给定值。第二张图纸的第一列中的每个值都有多个引用。有人能帮我吗?恐怕公式在这里行不通

第一页:

可乐 可乐 1234 文本 2345 文本 创建报告(使用匹配项查找)
  • 以下是一个中间的、效率不高的解决方案。它将尝试将源工作表的
    A
    sCol
    )列中的每个值与查找工作表的
    A
    lCol
    )列中的每个值进行匹配。如果匹配,源工作表中的当前单元格(
    sCell
    )将被添加(组合)到组合范围(
    crg
    )中。最后,匹配单元格的整行(组合范围)将复制到目标工作表
  • 假设所有工作表中的数据(表)从单元格
    A1
    开始,并有一行标题
  • 调整常量部分中的值
选项显式
子报表()
“查找
Const lName As String=“Sheet1”
常量lCol,长度=1
"来源:
Const sName As String=“Sheet2”
Const sCol(长度=1)
将wb设置为工作簿:设置wb=ThisWorkbook包含此代码的工作簿
将lrg作为“范围”查找范围进行调整
带wb.工作表(lName).Range(“A1”).CurrentRegion.Columns(lCol)
设置lrg=.Resize(.Rows.Count-1).Offset(1)
'Debug.Print lrg.Address
以
变暗crg作为“组合范围”
Dim srg作为范围的源查找范围
使用wb.工作表(sName).范围(“A1”).当前区域
设置crg=.Cells(1)的标题
'Debug.Print crg.Address
设置srg=.Columns(sCol).Resize(.Rows.Count-1).Offset(1)
'Debug.Print srg.Address
以
源查找范围中的“将sCell变暗为范围”当前单元格
对于srg.单元中的每个sCell
如果是数字(Application.Match(sCell.Value,lrg,0)),则
设置crg=Union(crg,sCell)
'Debug.Print crg.Address
如果结束
下一节
Dim dCell作为“范围”目标第一个单元(范围)
Set dCell=wb.Worksheets.Add(之后:=wb.Sheets(wb.Sheets.Count)).Range(“A1”)
crg.EntireRow.Copy数据单元
端接头

非常感谢!