Como eu procurei e não achei nada., vou tentar explicar melhor
A minha planilha se constituem de varias planilhas com vários setores de tamanhos diferentes "quantidade de coluna"
as macros tem que trabalhar em todas por igual, copiar de uma plan para outra e outras coisas "já fazem isso"
então como as planilhas "podem" ter os setores diferentes uns dos outros, os endereços desses setores ficam na própria planilha
eu estou tentando melhorar essa macro que define as variaveis.
Sub Setores()
Limit
Cis = Range("D10").Value 'coluna inicial de procura dos setores
Lis = Range("C11").Value ''linha inicial de procura dos setores
sn = 13 'quantidade de setores
If setor <> "" Then
For k = Cis To Cis + sn
If setor = Sheets(Plan).Cells(Lis, k).Value Then 'Localiza setores na planilha de origem
Ti = Sheets(Plan).Cells(Lis + 1, k).Value
CData = Sheets(Plan).Cells(Lis + 2, k).Value
Ci = Sheets(Plan).Cells(Lis + 3, k).Value
Cf = Sheets(Plan).Cells(Lis + 4, k).Value
Fc = Sheets(Plan).Cells(Lis + 5, k).Value
Cq = Sheets(Plan).Cells(Lis + 6, k).Value 'quantidade colunas de dados do setor
Di = Sheets(Plan).Cells(Lis + 7, k).Value 'diferença de setor entre planilhas
Li = Sheets(Plan).Cells(Lis + 8, k).Value
Lf = Sheets(Plan).Cells(Lis + 9, k).Value
Ge = Range("E12").Value
'cor1 = Sheets(Plan).Cells(Lis + 8, k).Value
'cor2 = Sheets(Plan).Cells(Lis + 9, k).Value
Exit Sub
End If
Next k
End If
End Sub
E por motivo de aprendizado e de expansão da quantidade de setores tentei fazer algo melhor
Sub Setores()
Cis = 4 'coluna inicial dos nomes dos setores em numero
Cfs = Cis + 14 'coluna inicial nome de setor e Mais quantidade de setores (incluir os vazios)
Civ = Cis - 1
Liv = 12 'linha inicial variaveis >>ti
Lfv = 20 'linha final variaveis
Lis = Liv - 1
'para teste ///
Plan = ActiveSheet.Name
setor = "da"
' ^^^^para teste
Set rngDi = Sheets(Plan).Range(Cells(Lis, Cis), Cells(Lis, Cfs)).Find(setor) 'localiza a coluna com o nome do setor na planilha (Plan)
If Not rngDi Is Nothing Then
rngD = rngDi.Column
For Each rngO In Sheets(Plan).Range(Cells(Liv, Civ), Cells(Lfv, Civ)) 'Localiza valore coluna variaveis na planilha (Plan)
If rngO.Value <> "" Then
'Me.Controls(rngO).Object.Value = Sheets(Plan).Cells(rngO.Row, rngD).Value <<pensei que isso funcionaria igual no userbox
End If
Next rngO
End If
'MsgBox CData.Value
End Sub
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 : 27/03/2014 11:05 pm