Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/14.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 VBA-过滤/剪切/粘贴_Excel_Vba - Fatal编程技术网

Excel VBA-过滤/剪切/粘贴

Excel VBA-过滤/剪切/粘贴,excel,vba,Excel,Vba,我想知道如何将VBA语句写入 过滤标准1(总销售额)列I 复制标准1 将数据粘贴到列K (净销售额)列中的筛选标准2I 复制标准2 将数据粘贴到列L 当前我的代码如下所示: Range("A1:J1").AutoFilter Field:=9, Criteria1:="Gross Sale" Columns("2" & ":" & Range("J70000").End(xlUp).Row).Copy 提前谢谢各位 尝试以下代码(将“Sheet6”修改为工作表名称): 选项显式

我想知道如何将VBA语句写入

  • 过滤标准1(总销售额)列
    I
  • 复制标准1
  • 将数据粘贴到列
    K
  • (净销售额)列中的筛选标准2
    I
  • 复制标准2
  • 将数据粘贴到列
    L
  • 当前我的代码如下所示:

    Range("A1:J1").AutoFilter Field:=9, Criteria1:="Gross Sale"
    Columns("2" & ":" & Range("J70000").End(xlUp).Row).Copy
    
    提前谢谢各位

    尝试以下代码(将“Sheet6”修改为工作表名称):

    选项显式
    子CopyFiltResults()
    变暗滤波范围
    使用工作表(“Sheet6”)将“Sheet6”修改为工作表的名称
    带.Range(“A1:J”和.Cells(.Rows.Count,“I”).End(xlUp.Row)
    '将范围筛选器列I设置为“总销售额”
    .自动筛选字段:=9,标准1:=总销售额
    设置filterng=.Columns(9).SpecialCells(xlCellTypeVisible)
    
    filterng.Copy.Range(“K1”)'您发布的代码可能会起作用。如果看不到Sub的其他部分,很难从您发布的内容中看出您的问题所在。
    Option Explicit
    
    Sub CopyFiltResults()
    
    Dim FiltRng As Range
    
    With Worksheets("Sheet6") ' modify "Sheet6" to your sheet's name
        With .Range("A1:J" & .Cells(.Rows.Count, "I").End(xlUp).Row)
            ' set range filter column I to "Gross Sale"
            .AutoFilter Field:=9, Criteria1:="Gross Sale"
    
            Set FiltRng = .Columns(9).SpecialCells(xlCellTypeVisible)
            FiltRng.Copy .Range("K1") '<-- only copy visible cells to Column K
            Set FiltRng = Nothing '<-- clear range variable
    
            ' set range filter column I to "Net Sales"
            .AutoFilter Field:=9, Criteria1:="Net Sales"
            Set FiltRng = .Columns(9).SpecialCells(xlCellTypeVisible)
            FiltRng.Copy .Range("L1") '<-- only copy visible cells to Column L
        End With
    End With
    
    End Sub