У меня есть мастер-книга макросов, единственной целью которой является запуск макроса, который перебирает все рабочие книги в определенной папке, вносит кучу изменений, а затем сохраняет их в другой папке.
Все это работает, за исключением некоторого нового кода, в котором я хочу просмотреть все разные рабочие листы. Код просто продолжает выполнять код на первом рабочем листе снова и снова.
Sub BlendBCoding()
Dim Filename, Pathname As String
Dim wb As Workbook
Dim ws As Worksheet
Dim NameOfWorkbook
Dim cel As Variant
Dim myrange As Range
Pathname = ActiveWorkbook.Path & "\ToProcess\"
Filename = Dir(Pathname & "*.xml")
Do While Filename <> ""
Set wb = Workbooks.Open(Pathname & Filename)
For Each ws In wb.Sheets
Call DoWork(ws)
Next
NameOfWorkbook = Left(ActiveWorkbook.Name, (InStrRev(ActiveWorkbook.Name, ".", -1, vbTextCompare) - 1))
ActiveWorkbook.SaveAs Filename:= _
"I:\Common\BlendBCoding\Processed\" & NameOfWorkbook & ".xlsx", FileFormat _
:=xlOpenXMLWorkbook, CreateBackup:=False
wb.Close SaveChanges:=False
Filename = Dir()
Loop
End Sub
Sub DoWork(ws As Worksheet)
With ws
Range("A1:G1").EntireColumn.Insert
Range("A1").Value = "Scan Components"
Range("A1").ColumnWidth = 16
//Blah Blah lots of standard text code cut
Set myrange = Range("H1:H100")
myrange.Interior.ColorIndex = xlNone
For Each cel In myrange
If Application.WorksheetFunction.CountIf(myrange, cel) > 1 Then
cel.Interior.ColorIndex = 4
End If
Next
'Set myrange = Range("H2:H25")
'For Each xCell In myrange
' xCell.Value = CDec(xCell.Value)
' Next xCell
End With
End Sub
Любая помощь приветствуется.