У меня есть код, который вызывает другие макросы для запуска на указанных листах.
Во-первых: мне было интересно, как сказать, чтобы он запускал другой макрос на всех оставшихся листах, которых еще не было в списке
Во-вторых: я хочу, чтобы вышеуказанный макрос запускался на остальных листах, исключая количество именованных листов (например, «графики»)
Вот мой код на данный момент
Sub specify_sheets()
'apply appropriate limits to relative sheet
Dim sht As Worksheet
For Each sht In Worksheets
If sht.Name = Worksheets("NB12") Or _
sht.Name = Worksheets("NB15") Then
Call limits_Alluvium
End If
If sht.Name = Worksheets("NB24") Then
Call limits_BOCOBOML_GFA
End If
If sht.Name = Worksheets("NB16") Or _
sht.Name = Worksheets("NB17") Or _
sht.Name = Worksheets("NB19") Or _
sht.Name = Worksheets("NB20") Or _
sht.Name = Worksheets("Bore 31") Then
Call limits_BOCOBOML_MIA
End If
If sht.Name = Worksheets("Bore 47") Or _
sht.Name = Worksheets("Bore 48") Then
Call limits_FracturedRock_GFA
End If
If sht.Name = Worksheets("Bore 4") Or _
sht.Name = Worksheets("Bore 4a") Or _
sht.Name = Worksheets("Bore 40") Then
Call limits_FracturedRock_MIA_West
End If
If sht.Name = Worksheets("Bore 30") Then
Call limits_FracturedRock_MIA_East
End If
Next sht
End Sub
Вот код одного из макросов, к которым он обращается:
Sub limits_Monitoring_bores()
Dim sht As Worksheet, lastRow As Long
Set sht = ActiveWorkbook.Worksheet
'Name columns appropriately
With ActiveWorkbook.Worksheets(1)
.Cells(1, 4).Value = "Min"
.Cells(1, 5).Value = "Max"
.Cells(1, 7).Value = "20th Percentile"
.Cells(1, 8).Value = "80th Percentile"
.Cells(1, 10).Value = "20th Percentile"
.Cells(1, 11).Value = "80th Percentile"
End With
lastRow = sht.Cells(sht.Rows.Count, "A").End(xlUp).Row
sh.Range("D2:D" & lastRow).Value = "=6"
sh.Range("E2:E" & lastRow).Value = "=8.5"
sh.Range("G2:G" & lastRow).Value = "=PERCENTILE(F:F,0.2)"
sh.Range("H2:H" & lastRow).Value = "=PERCENTILE(F:F,0.8)"
sh.Range("J2:J" & lastRow).Value = "=PERCENTILE(I:I,0.2)"
sh.Range("K2:K" & lastRow).Value = "=PERCENTILE(I:I,0.8)"
End Sub