Como salvar dados d...
 
Notifications
Clear all

Como salvar dados de um Userform em células específicas?

4 Posts
1 Usuários
0 Reactions
2,552 Visualizações
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Amigos, tenho um userform com 4 caixas de texto. Quero que os dados inceridos nestas caixas sejam salvos em células específicas, desta forma:

Caixa de texto 01: célula J15
Caixa de texto 02: célula J18
Caixa de texto 03: célula J21
Caixa de texto 04: célula J24

Como ficaria o código VBA?

Antes de tudo, obrigado;

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 17/10/2011 1:24 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Sem maiores detalhes, então supondo que J5 esteja na planilha "Plan1"

Poderia ser por exemplo, no evento change :

Private Sub suaCaixadeTexto_Change()
Sheets("plan1").Range("j5") = suaCaixadeTexto.Value 
End Sub

as demais podem seguir o mesmo conceito

Veja se pode evoluir, ou poste maiores detalhes

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 17/10/2011 3:28 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Desculpe! Realmente, coloquei poucos dados sobre a situação. Vamos a eles:

1 ) O nome da aba onde estão as células J15, J18, J21 e J24 é Principal.
2 ) O Userfom foi denominado de Formulario_01.
3 ) O nome das 4 caixas de texto são: NomeAba, NomeGrafico, NomeX e NomeY.
4 ) O Nome do botão dentro do Userform onde desejo clicar para salvar os dados chama-se Salvar.

Seguindo a sua orientação, eu fiz o VBA assim:

Private Sub Salvar_Change()
Sheets("Principal").Range("j15") = NomeAba.Value
Sheets("Principal").Range("j18") = NomeGrafico.Value
Sheets("Principal").Range("j21") = NomeX.Value
Sheets("Principal").Range("j24") = NomeY.Value
End Sub

Mas não funcionou, devo ter feito algo errado. Olhe o código que eu estava usando anteriormente:

Private Sub Salvar_Click()
totalregistro = Worksheets("Principal").UsedRange.Rows.Count
With Worksheets("Principal")
Cells(totalregistro, 1) = NomeAba
Cells(totalregistro, 2) = NomeGrafico
Cells(totalregistro, 3) = NomeX
Cells(totalregistro, 4) = NomeY
End With
End Sub

Este código funciona, mas com um problema: os 4 dados são salvos sempre nas colunas A, B, C e D. Mas a linha não é sempre a mesma. Hora os 4 dados são salvos em uma linha, hora são salvos em outra linha. Como faço para corrigir isso?

Mais uma vez, obrigado;

Niltoncsp.

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 17/10/2011 10:11 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Problema resolvido pelo meu irmão. Ficou assim o código:

Private Sub Salvar_Click()
Dim shtPrincipal As Worksheet

Set shtPrincipal = Sheets("Principal")

shtPrincipal.Range("i15") = NomeAba.Value
shtPrincipal.Cells(18, "i") = NomeGrafico.Value
shtPrincipal.Cells(21, "i") = NomeX.Value
shtPrincipal.Range("i24") = NomeY.Value

End Sub

Obrigado a todos.

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 20/10/2011 11:52 am