Gilson,
Eu não tenho a menor ideia de para que serve o Solver, muito embora eu já tenha pesquisado sobre isso. Entretanto, deixo uma sugestão, meio que uma ideia, de como você pode fazer para a macro reconhecer os mesmos intervalos. Segue a "proto-macro" explicada:
OBS: Copie e cole no seu editor VBA desde "Sub Intervalo_Solver" até "End Sub"
Sub Intervalo_Solver()
'Por padrão, procuro sempre nomear minhas variáveis indicando se elas variam pela linha ou pela coluna...
'... por isso que a nomeei começando com 'Lin'
Dim Lin_AlturaSolver As Variant
'Aqui estou considerando que o primeiro valor SEMPRE estará na linha 3, pois vc disse que o intervalo é, por ex., A3:A8
Lin_AlturaSolver = 3
'Esta linha de código vai andar na tabela dinâmica até encontrar o nome que estiver na última linha...
'... geralmente as tabelas dinâmicas trazem o nome "Total Geral" na última linha, por isso o escolhi, mas...
'... você vai olhar qual nome está escrito na última linha da sua tabela dinâmica e vai alterar aqui na macro, se for o caso.
Do While Worksheets("Plan1").Cells(Lin_AlturaSolver, 1) <> "Total Geral"
'Neste 'bloco if' pedi para a macro aumentar 1 unidade caso ela não encontre o valor "Total Geral"...
'... Na verdade, este bloco if nunca vai encontrar o valor "Total Geral", pois quando chegarmos nele o 'Do While' vai pulá-lo.
If Worksheets("Plan1").Cells(Lin_AlturaSolver, 1) <> "Total Geral"
Lin_AlturaSolver = Lin_AlturaSolver + 1
End If
Loop
'Este é o comando para selecionar o intervalo da tabela dinâmica. lembrando que, se vc observar, nós...
'... tivemos que diminuir 1 unidade da variável Lin_AlturaSolver, pois ela, imagino, não deve selecionar a linha de total.
Worksheets("Plan1").Range(Cells(3, 2), Cells(Lin_AlturaSolver - 1, 2)).Select
'Acho que você deve inserir seu código aqui, pois, até agora, nós apenas selecionamos o intervalo que você queria...
'... para que o código do solver fosse executado.
'>>> INSIRA SEU CÓDIGO AQUI <<<
End Sub
Enfim Gilson, se eu entendi o que você precisa, acho que esta explicação pode te ajudar a ter uma "luz", rsrsrs.
Abraços!!!
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel
Postado : 22/05/2012 9:44 am