-1
저는 각 계정에 대해 얼마만큼의 빚을 지는지 여러 계정을 가진 고객을 위해 실행하는 보고서가 있습니다. 이 매크로는 하나의 계정 번호별로 정렬하고 해당 계정 번호에 속하는 모든 행을 가져 와서 잘라내어 다른 시트에 붙여 넣습니다. 그리고 모든 계좌가 별도의 용지에 보관 될 때까지이 작업을 계속합니다. 그래서 "905539971"그들은 아무것도 빚을하지 않기 때문에 그것 거기, 매크로 오류를 얻을 수에 대한 매크로를 검색하면내 vba에서 오류가 발생하면 다음 절차로 이동하는 방법?
Sub findsort()
Dim ws As Worksheet
Set ws = Worksheets("Sheet1")
Dim rng As Range
With ws
.UsedRange.AutoFilter Field:=2, Criteria1:="905539971"
Set rng = Intersect(.UsedRange,
.UsedRange.Offset(1)).SpecialCells(xlCellTypeVisible)
rng.Copy Worksheets(Sheets.Count).Range("A2")
rng.EntireRow.Delete
.UsedRange.AutoFilter
End With
Sheets("Sheet1").Select
Rows("1:1").Select
Selection.Copy
Worksheets(Sheets.Count).Select
Range("A1").Select
ActiveSheet.Paste
Cells.Select
Cells.EntireColumn.AutoFit
Cells.EntireColumn.AutoFit
Cells.EntireColumn.AutoFit
Range("A1").Select
Range("A1:O1").Select
Application.CutCopyMode = False
Selection.AutoFilter
Worksheets(Sheets.Count).Name = "ROCKTENN CP LLC (3PL)"
Sheets("Sheet1").Select
Sheets.Add After:=Sheets(Sheets.Count)
With ws
.UsedRange.AutoFilter Field:=2, Criteria1:="905135784"
Set rng = Intersect(.UsedRange,
.UsedRange.Offset(1)).SpecialCells(xlCellTypeVisible)
rng.Copy Worksheets(Sheets.Count).Range("A2")
rng.EntireRow.Delete
.UsedRange.AutoFilter
End With
Sheets("Sheet1").Select
Rows("1:1").Select
Selection.Copy
Worksheets(Sheets.Count).Select
Range("A1").Select
ActiveSheet.Paste
Cells.Select
Cells.EntireColumn.AutoFit
Cells.EntireColumn.AutoFit
Cells.EntireColumn.AutoFit
Range("A1").Select
Range("A1:O1").Select
Application.CutCopyMode = False
Selection.AutoFilter
Worksheets(Sheets.Count).Name = "ROCK-TENN RECYCLING (3PL)"
Sheets("Sheet1").Select
End Sub
문제는 때때로는 모든 계정은 이렇게 표시됩니다.
그래서 내 질문은, 내가 다음 계정으로 이동하기 위해 계정 번호를 찾지 못한다면 알려주는 VBA 내에서 각 프로 시저를 중첩시켜야합니까? 그렇다면 그 코드는 무엇이겠습니까?