java导入excel时去除空行,使用VBA将空行复制到新工作表后删除Excel中的空行

该代码段展示了一个VBA宏,用于在Excel中快速筛选并复制数据。通过应用AutoFilter方法,它能够自动筛选'Tab1'工作表中字段1为'2016'的所有行,并将这些数据复制到'Tab2'工作表,从而提高了数据处理的效率。
摘要由CSDN通过智能技术生成

您可以使用 AutoFilter 方法,它将节省您在所有行中使用 For 循环的需要,并且只需将整个过滤范围复制到"Tab 2"工作表 .

Code (评论内部评论)

Option Explicit

Sub CopyRow()

Application.ScreenUpdating = False

Dim x As Long

Dim MaxRowList As Long

Dim MaxCol As Long

Dim S As String

Dim aCol As Long

Dim wsSource As Worksheet

Dim wsTarget As Worksheet

Dim SourceRng As Range

Dim VisRng As Range

Set wsSource = ThisWorkbook.Worksheets("Tab 1")

Set wsTarget = ThisWorkbook.Worksheets("Tab 2")

aCol = 1

With wsSource

MaxRowList = .Cells(.Rows.Count, aCol).End(xlUp).Row ' find last row

MaxCol = .Cells(1, .Columns.Count).End(xlToLeft).Column ' find last column

Set SourceRng = .Range(.Cells(1, 1), .Cells(MaxRowList, MaxCol)) ' set source range to actually occupied range

.Range("A1").AutoFilter ' use AutoFilter method

SourceRng.AutoFilter Field:=1, Criteria1:="2016"

Set VisRng = SourceRng.SpecialCells(xlCellTypeVisible) ' set range to filterred range

VisRng.Copy ' copy entire visible range

wsTarget.Range("A2").PasteSpecial xlPasteValues ' past with 1 line

End With

Application.ScreenUpdating = True

End Sub

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值