VBA 指定列的数据复制到另一工作表的方法

在这里插入图片描述
前后代码略过


   If rowsnum > 0 Then


'方法一:先全部复制过去,再删除不要的列
'     Dim rngnew As Range
'     Set rngnew = ActiveSheet.UsedRange.SpecialCells(xlCellTypeVisible)
'
'     Sheets("查询汇总").Select '转到“查询汇总”表
'
'     With Sheets("查询汇总")
'         .Range("A1").Select  '选择A4单元格
'         rngnew.Copy .Range("A1")
'         .Range("AD1:AJ" & rowsnum).Delete Shift:=xlToLeft
'         .Range("AA1:AA" & rowsnum).Delete Shift:=xlToLeft
'         .Range("N1:Y" & rowsnum).Delete Shift:=xlToLeft
'         .Range("I1:L" & rowsnum).Delete Shift:=xlToLeft
'     End With
'  
''方法二:获取未隐藏行号,遍历行号,获取数据再复制(遍历的速度有点慢)
'    Dim rngnew As Range
'    Dim i As Long, j As Long, k As Long
'    Set rngnew = Sheets("查询汇总").Range("A:Z")

'    k = 1 '初始化K值
'    For i = 1 To rowsnum
'     If Not ActiveSheet.Rows(i).Hidden Then
'      j = ActiveSheet.Cells(i, "A").Row '获取显示值的行号
'      rngnew.Cells(k, 1) = Sheets("数据").Cells(j, 1).Value
'      rngnew.Cells(k, 2) = Sheets("数据").Cells(j, 2).Value
'      rngnew.Cells(k, 3) = Sheets("数据").Cells(j, 3).Value
'      rngnew.Cells(k, 4) = Sheets("数据").Cells(j, 4).Value
'      rngnew.Cells(k, 5) = Sheets("数据").Cells(j, 5).Value
'      rngnew.Cells(k, 6) = Sheets("数据").Cells(j, 6).Value
'      rngnew.Cells(k, 7) = Sheets("数据").Cells(j, 7).Value
'      rngnew.Cells(k, 8) = Sheets("数据").Cells(j, 8).Value
'      rngnew.Cells(k, 9) = Sheets("数据").Cells(j, 13).Value
'      rngnew.Cells(k, 10) = Sheets("数据").Cells(j, 26).Value
'      rngnew.Cells(k, 11) = Sheets("数据").Cells(j, 29).Value
'      rngnew.Cells(k, 12) = Sheets("数据").Cells(j, 30).Value
'      k = k + 1
'
'     End If
'    Next
'    rngnew.Copy Sheets("查询汇总").Range("A1")
'方法三:类似方法一,指定range进行合并,再复制
     Dim rngnew As Range
     Set rngnew = ActiveSheet.Range("A1:H" & rowsnum).SpecialCells(xlCellTypeVisible)
     Set rngnew = Union(rngnew, ActiveSheet.Range("M1:M" & rowsnum).SpecialCells(xlCellTypeVisible))
     Set rngnew = Union(rngnew, ActiveSheet.Range("Z1:Z" & rowsnum).SpecialCells(xlCellTypeVisible))
     Set rngnew = Union(rngnew, ActiveSheet.Range("AB1:AC" & rowsnum).SpecialCells(xlCellTypeVisible))

     Sheets("查询汇总").Select '转到“查询汇总”表


    ActiveSheet.Range("A1").Select  '选择A4单元格
    rngnew.Copy ActiveSheet.Range("A1")

    
  End If

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值