Excel 在循环期间刷新数据
我正在从一张工作表中获取数据,并希望将其显示在另一张工作表上,以便检查在不久的将来是否必须执行某些操作 我正在扫描所有有“计划”案例的数据,并在我的工作表中登记符合规范的数据 问题在于,每个数据点都会覆盖上一个数据点-仅显示最后一个数据点Excel 在循环期间刷新数据,excel,vba,Excel,Vba,我正在从一张工作表中获取数据,并希望将其显示在另一张工作表上,以便检查在不久的将来是否必须执行某些操作 我正在扫描所有有“计划”案例的数据,并在我的工作表中登记符合规范的数据 问题在于,每个数据点都会覆盖上一个数据点-仅显示最后一个数据点 Dim i As Integer Dim lastRowS2 As Long Dim lastRowS3 As Long lastRowS2 = Sheets(2).Cells(Rows.Count, "A").End(xlUp).Row i = 5 For
Dim i As Integer
Dim lastRowS2 As Long
Dim lastRowS3 As Long
lastRowS2 = Sheets(2).Cells(Rows.Count, "A").End(xlUp).Row
i = 5
For j = i To lastRowS2
Select Case Sheets(2).Range("O" & j)
Case Is = "-"
Case Is = "TO PLAN"
lastRowS3 = Sheets(3).Cells(Rows.Count, "A").End(xlUp).Row
Sheets(3).Range("A" & lastRowS3) = Sheets(2).Range("C" & j)
End Select
'MsgBox j
Next j
是否有办法使所有符合条件的数据正确显示
谢谢您的帮助,请原谅我的英语,我有点生疏。扩展我的注释,您的代码可以重构如下(注释中的解释): 您还可以避免循环并使用
Autofilter()
方法:
With Sheets(2) ' reference your sheet object
With .Range("A4:O" & .Cells(.Rows.Count, "A").End(xlUp).Row) ' reference referenced sheet range spanning from "O4" to column A last not empty cell
.AutoFilter field:=15, Criteria1:="TO PLAN"' filter referenced range on its 15th filed (column O) with "TO PLAN" value
.Resize(.Rows.Count - 1, 1).Offset(1).SpecialCells(xlCellTypeVisible).Copy Destination:=Sheets(3).Cells(Rows.Count, "A").End(xlUp).Offset(1) ' copy referenced range first column filtered cells skipping first row (header) to Sheet(3) column A first empty cell after last not empty one
End With
.AutoFilterMode = False
End With
展开我的注释,您的代码可以重构如下(注释中的解释): 您还可以避免循环并使用
Autofilter()
方法:
With Sheets(2) ' reference your sheet object
With .Range("A4:O" & .Cells(.Rows.Count, "A").End(xlUp).Row) ' reference referenced sheet range spanning from "O4" to column A last not empty cell
.AutoFilter field:=15, Criteria1:="TO PLAN"' filter referenced range on its 15th filed (column O) with "TO PLAN" value
.Resize(.Rows.Count - 1, 1).Offset(1).SpecialCells(xlCellTypeVisible).Copy Destination:=Sheets(3).Cells(Rows.Count, "A").End(xlUp).Offset(1) ' copy referenced range first column filtered cells skipping first row (header) to Sheet(3) column A first empty cell after last not empty one
End With
.AutoFilterMode = False
End With
使用
表(3).范围(“A”和最后一行3+1)
。或lastRowS3=Sheets(3)。单元格(Rows.Count,“A”)。End(xlUp)。Offset(1)。Row
我的awnser本质上是,与roach houseSheets(3)略有不同。范围(“A”&lastRowS3+1)
。或lastRowS3=Sheets(3)。单元格(Rows.Count,“A”)。End(xlUp)。Offset(1)。Row
My awnser本质上与