【发布时间】:2015-12-04 16:03:35
【问题描述】:
我能够在所有工作表上正确运行此代码而没有任何问题,但我无法仅在特定工作表上运行代码。
我尝试使用 `if w.Name array("Summary", "-NonkeyRitemsgreaterthan180","Bus Jus R with Non-Jus Sub Type", "Close date" 像这样我有 20 张纸我不想在上面运行此代码但是它不起作用。如果有人可以在这方面指导或帮助我,那将是非常有帮助的,因为我正在为这些工作表运行另一个循环。
正确代码:
Dim w
Dim ws As Worksheet, i As Long
Dim cK As Long, cN As Long, cH As Long, cL As Long, cM As Long, cB As Long, cC As Long, LastR As Long
Dim sh, sM, sL, sB
Dim cY As Long, cT As Long, cR As Long
Dim sT, sR
Worksheets.Add(After:=Worksheets(Worksheets.Count)).Name = "Summary"
With Sheets("Summary")
.Range("C3") = "Checks Performed"
.Range("D3") = "No. Of Issues Found"
.Range("E3") = "Key"
.Range("F3") = "Non-Key"
.Range("G3") = "High"
.Range("H3") = "Medium"
.Range("I3") = "Low"
.Range("J3") = "Blanks"
.Range("K3") = "High"
.Range("L3") = "Medium"
.Range("M3") = "Low"
.Range("N3") = "Blanks"
.Range("E2") = "Key /Non-Key "
.Range("G2") = "Count"
.Range("K2") = "Sum"
.Range("E2:F2").Merge
.Range("G2:J2").Merge
.Range("K2:N2").Merge
End With
i = 4
For Each w In Worksheets
If w.Name <> "Summary" Then
With w
LastR = .Cells(Rows.Count, 1).End(xlUp).Row 'added lineššššššššššššššššššššššššššš
cK = WorksheetFunction.CountIf(.Range("B:B"), "Key")
cN = WorksheetFunction.CountIf(.Range("B:B"), "Non-Key")
cH = WorksheetFunction.CountIf(.Range("L:L"), "High")
cM = WorksheetFunction.CountIf(.Range("L:L"), "Medium")
cL = WorksheetFunction.CountIf(.Range("L:L"), "Low")
'cB = WorksheetFunction.CountIf(.Range("L:L"), " ")
cB = WorksheetFunction.CountIf(.Range(.Range("L2"), .Cells(LastR, 12)), "") 'changed line
sh = WorksheetFunction.SumIf(.Range("L:L"), "High", .Range("N:N"))
sM = WorksheetFunction.SumIf(.Range("L:L"), "Medium", .Range("N:N"))
sL = WorksheetFunction.SumIf(.Range("L:L"), "Low", .Range("N:N"))
sB = WorksheetFunction.SumIf(.Range("L:L"), "", .Range("N:N"))
cC = WorksheetFunction.CountA(.Range("A2:A100000"))
End With
With Sheets("Summary")
.Cells(i, 3).Value = w.Name
.Cells(i, 4).Value = cC
.Cells(i, 5).Value = cK
.Cells(i, 6).Value = cN
.Cells(i, 7).Value = cH
.Cells(i, 8).Value = cM
.Cells(i, 9).Value = cL
.Cells(i, 10).Value = cB
.Cells(i, 11).Value = sh
.Cells(i, 12).Value = sM
.Cells(i, 13).Value = sL
.Cells(i, 14).Value = sL
i = i + 1
End With
End If
下一个
【问题讨论】: