Na verdade, você utilizou variáveis de nível de módulo, e isso é melhor que utilizar variáveis públicas no que se trata de desempenho.
nem sabia disso, comecei a fazer isso pq minha planilha sempre foi uma metamorfose, então não dava pra ficar reescrevendo cada macro.
Só não podemos esquecer de reiniciar os valores dessas variáveis a cada nova execução do procedimento pai para que elas não retenham valores da execução anterior e gerem erros em suas subrotinas.
ainda não tive esse problema, os valores são para ser intercambiáveis, as macros que trabalham diretamente na planilha não tem execução direta, são chamadas de dentro de macros de execução. Bem tbm não sei como reiniciar esses valores.
A macro que adiciona os valores das variaveis é essa: ela pega os valores em uma tabela na planilha que acompanha as mudanças com formulas. tentei melhorar mas foi tudo que consegui.
Queria eliminar a necessidade de uma tabela dentro da planilha."cada planilha criada tem uma"
Sub Setores()
If Setor <> "" Then
Sheets(Plan).Range("A11:R25").Calculate
Set rngDi = Sheets(Plan).Range("B11:R11").Find(Setor) 'localiza a coluna com o nome do setor na planilha (Plan)
If Not rngDi Is Nothing Then
K = rngDi.Column
Ti = Sheets(Plan).Cells(12, K).Value
CData = Sheets(Plan).Cells(13, K).Value
Ci = Sheets(Plan).Cells(14, K).Value
Cf = Sheets(Plan).Cells(15, K).Value
Fc = Sheets(Plan).Cells(16, K).Value
Cq = Sheets(Plan).Cells(17, K).Value 'quantidade colunas de dados do setor
nST = Sheets(Plan).Cells(18, K).Value 'indica Nome do Setor
nP = Sheets(Plan).Cells(19, K).Value
Orde = Sheets(Plan).Cells(20, K).Value
Li = Sheets(Plan).Cells(21, K).Value
Lf = Sheets(Plan).Cells(22, K).Value
'cor1 = Sheets(Plan).Cells(23, k).Value
'cor2 = Sheets(Plan).Cells(24, k).Value
Not_Setor = 0
Else
Not_Setor = 1
MsgBox "Setor " & Setor & " não existe em " & Plan
End If
End If
End Sub
para trabalhar com setores "FIXOS" separadamente uso
Sub Prob()
Limit
Setor = "prob": Plan = Plan_Aq: Setores
End Sub
assim posso usar qualquer macro em qualquer parte da planilha poso até criar setores provisórios como é o caso desse "prob"
bem, prelo visto praticidade e versatilidade nem sempre rima com simplicidade.
os códigos que escrevo para uso pessoal no meu dia-a-dia são sofríveis,
não trabalho com excel, ainda não ganhei 1$ com isso, e somente mexo nessa planilha que ainda não serve para nada "apesar de fazer um monte de coisa"
Ainda tenho um longo caminho.
E obrigado pelas dicas, vou dar uma estudada nessa alteração q vc fez na macro para ver se tem algo que posso aproveitar nessa que estou trabalhando,
cada dia agente aprende novos caminhos
Somente é impossíveis até que alguém faça
A logica está presa na irracionalidade humana, e morta nos que se consideram donos da verdade.
"ALGUM MODERADOR ME EXPULSE DO FÓRUM POR FAVOR"
Postado : 06/05/2014 10:18 pm