Gravar e lê valores de vários objetos de um UserForm em uma única Célula
Inicialmente tinha feito assim
GRAVA:
For Cs = 1 To 13
revC = "revC" & Cs: freC = "freC" & Cs: incrC = "incrC" & Cs
revL = "revL" & Cs: freL = "freL" & Cs: incrL = "incrL" & Cs
Lo = "Lo" & Cs
Cells(41, 5 + Cs).Value2 = Me.Controls(revC).Value
Cells(42, 5 + Cs).Value2 = Me.Controls(freC).Value
Cells(43, 5 + Cs).Value2 = Me.Controls(incrC).Value
Cells(47, 5 + Cs).Value2 = Me.Controls(revL).Value
Cells(48, 5 + Cs).Value2 = Me.Controls(freL).Value
Cells(49, 5 + Cs).Value2 = Me.Controls(incrL).Value
Cells(53, 5 + Cs).Value2 = Me.Controls(Lo).Value
Next
Lê
For Cs = 1 To 13
revC = "revC" & Cs: freC = "freC" & Cs: incrC = "incrC" & Cs
revL = "revL" & Cs: freL = "freL" & Cs: incrL = "incrL" & Cs
Lo = "Lo" & Cs
Me.Controls(revC).Value = Cells(41, 5 + Cs).Value2 = True
Me.Controls(freC).Value = Cells(42, 5 + Cs).Value2
Me.Controls(incrC).Value = Cells(43, 5 + Cs).Value2
Me.Controls(revL).Value = Cells(47, 5 + Cs).Value2 = True
Me.Controls(freL).Value = Cells(48, 5 + Cs).Value2
Me.Controls(incrL).Value = Cells(49, 5 + Cs).Value2
Me.Controls(Lo).Value = Cells(53, 5 + Cs).Value2 = True
Next
mas como quero adicionar mais objetos e ter uma opção de salvamentos maiores
tentei salvar os valores de cada conjunto em apenas uma celula, no caso seria 13 objetos em apenas uma celula.
-------------------------------------------------------------------------------------------
como o Array("") precisa ter seus valores separados por Virgula e estar entre aspas
Para gravar fiz assim:
ref = Array("revC", "freC", "incrC", "revL", "freL", "incrL", "Lo")
For r = 0 To 6
revCA = """"
For Cs = 1 To 13
ObRef = ref(r) & Cs
revCA = revCA & Me.Controls(ObRef).Value & """"
If Cs < 13 Then revCA = revCA & "," & """"
Next
Cells(41 + r, 6).Value2 = revCA
Next
Beleza, cada conjunto está sendo salvo em 1 celula
"Falso","Verdadeiro","Falso","Verdadeiro","Falso","Falso","Falso","Falso","Falso","Verdadeiro","Falso","Falso","Falso"
"5","","","","6","","","","","","","",""
mas...
Para le os valores não fui tão bem
Array trata os valores da celula como um só
ref = Array("revC", "freC", "incrC", "revL", "freL", "incrL", "Lo")
For r = 0 To 6
dr = Cells(41 + r, 5).Value2
revCA = Array(dr)'array considera dr como valor unico
For Cs = 1 To 13
ObRef = ref(r) & Cs
Me.Controls(ObRef).Value = revCA(Cs - 1)'<<Dá erro
Next
Next
E agora, como fazer a leitura de cada valor de forma independente?
Att.
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 : 25/08/2014 11:38 pm