VBA中的循环编码



假设我只想复制A列中的合同编号,其中C列中有"Y"(C列是标志,它可以是Y也可以是N),并将该编号粘贴到新选项卡中。我该怎么做呢?

我试图写一些东西,但它没有工作。= (

谢谢!

Sub Test()
Do
Count = 1
 On Error GoTo ErrHandler
 On Error Resume Next
If Range("CheckContract").Offset(Count, 2).Value = "Y" Then
Range("CheckContract").Offset(Count, 0).Copy
Range("PasteRange").Offset(Count, 0).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False
End If
Count = Count + 1
Loop While Range("CheckContract").Offset(Count, 0).Value <> ""
Exit Sub

ErrHandler:

MsgBox Prompt:="Please check the inputs", Buttons:=vbExclamation, Title:="Error Msg"
End Sub

应该可以了

Sub Macro1()
Dim lrow As Integer
lrow = ActiveSheet.UsedRange.Rows.Count
    ActiveSheet.Range("$A$1:$C$" & lrow).AutoFilter Field:=3, Criteria1:="Y"
    Columns("A:A").SpecialCells(xlCellTypeVisible).Copy
    Sheets.Add After:=ActiveSheet
    ActiveSheet.Paste
End Sub

最新更新