【发布时间】:2018-12-12 18:43:53
【问题描述】:
我正在寻求一些帮助,将一些代码放在 VBA 中,这些代码将过滤具有特定标题名称的列,将该信息复制并粘贴到第二张工作表中,然后执行相同的过滤、复制、粘贴操作列中的每个值。不幸的是,该列并不总是在同一个位置。
任何帮助将不胜感激。
以下是我目前得到的:
Dim lastrow As Long
Dim lastcol As Long
Dim SSheet As Worksheet
Dim DSheet As Worksheet
Dim PRange As Range
'Define Data Range
Set SSheet = Worksheets("All Data")
Set DSheet = Worksheets("Data")
lastrow = DSheet.Cells(Rows.Count, 1).End(xlUp).Row
lastcol = DSheet.Cells(1, Columns.Count).End(xlToLeft).Column
Set PRange = DSheet.Cells(1, 1).Resize(lastrow, lastcol)
SSheet.Select
Selection.AutoFilter.Sort.SortFields.Clear
ActiveSheet.ShowAllData
Rows("1:1").Select
Selection.Find(What:="Job Group", After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Activate
ActiveSheet.Range("$A$1:" & lastrow, lastcol).AutoFilter Field:=14, Criteria1:= _"1A"
Cell ("A1").Select
Range("$A$1:" & lastrow, lastcol).Select
Selection.Copy
DSheet.Select
Range("A1").Select
ActiveCell.Paste
Application.CutCopyMode = False
【问题讨论】:
-
你应该先录制一个宏,然后看看它会产生什么。
-
您能否将代码编辑到您的原始帖子中?另外,请阅读how to avoid using
.Select`.Activate`
标签: excel vba loops copy-paste