A dica do Edson é valida, só que mesmo assim, no meu entender ainda faltam alguns detalhes para poder deixar a rotina do jeitinho que pretende, ou seja executar sem precisar selecionar a aba e dispensar o Botão em cada uma delas.
No exemplo que anexou, as 3 abas tem botão, deveria ter colocado pelo menos uma que não teria botão e não precisaria ser calculada.
Na rotina abaixo, estou supondo que as abas que tenham de ser calculadas os nomes começam com "SKU", assim pegamos o nome de cada uma, realizamos a comparação das 3 primeiras letras e calculamos sem ser necessário seleciona-las.
Como eu questionei anteriormente sobre os nomes das abas e não citou, pois é importante para definirmos alguns parametros, então se todos os nomes das abas, tanto as que serão calculadas como as que não serão começarem com "SKU", necessitaremos de algum outro parametro para diferenciar na rotina.
Uma outra obs, é que em seu modelo nas celulas B12 a B14 temos a relação das 3 abas, se esta relação for somente das abas que deverão sofrer alteração e atualização, podemos utilizar estes nomes na rotina.
De qualquer forma, veja se atende da forma que estou supondo :
Sub Find_Square_Root_Mauro()
Dim w As Worksheet
Dim i As Long
Dim wsSheet
'Verificamos o nome cada aba
For Each wsSheet In ActiveWorkbook.Worksheets
'Se nos nomes das abas preceder "SKU" executa a rotina sem precisar
'seleciona-las
If Left(wsSheet.Name, 3) = "SKU" Then
Set w = Worksheets(wsSheet.Name)
w.Range("L8").Formula = "=sum(K8-M5)"
For i = 1 To 3
SolverOk SetCell:=w.Range("L8"), MaxMinVal:=0, ValueOf:=0, ByChange:=w.Range("K8"), Engine:=1 _
, EngineDesc:="GRG Nonlinear"
SolverSolve UserFinish:=True
SolverFinish KeepFinal:=1
Application.Calculation = xlCalculationAutomatic
Next i
End If
Next wsSheet
End Sub
[]s
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel
Postado : 12/09/2016 1:10 pm