Ir ao conteúdo
  • Cadastre-se

Mudar célula no código VBA


Posts recomendados

Boa tarde pessoa! 

Esta seria minha primeira experiência com código, segui conforme o tutorial do youtube e deu tudo 100%, porém gostaria de fazer uma alteração!  ao invés do código inserir as informações uma ao lado da outra na célula, eu gostaria de mudar a tabela para que fosse como um bloco de pedidos, e que as informações focem para outro lugar.  

 

58dd48be07227_normaldocdigo.PNG.049bac1daef53538164b6500b1274eaa.PNG

 

Esta é a tabela normal do código até ai ok, porém eu queria que ficasse assim! 

 

58dd49bfef34f_comoeuqueria.PNG.05e87b2e168079e0dd3ae57cc0d26618.PNG

Apenas quero mudar o local que vai receber a informação do formulário.  

Segue o código 

 

Private Sub BoxSexo_Change()

End Sub

Private Sub CommandButton1_Click() 'macro do botão Adicionar

Dim iRow As Long
Dim ws As Worksheet
Set ws = Worksheets("Dados")

'acha a primeira linha do banco de dados
iRow = ws.Cells.Find(What:="*", SearchOrder:=xlRows, _
 SearchDirection:=xlPrevious, LookIn:=xlValues).Row + 1

'verifica se o primeiro box esta preenchido
If Trim(Me.BoxNome.Value) = "" Then
 Me.BoxNome.SetFocus
 MsgBox "Favor inserir o nome do cliente antes de prosseguir"
 Exit Sub
End If

'copia dos dados para o banco de dados
'se as linhas estiverem bloqueadas para edicao, coloque o seu password onde esta escrito PASSWORD abaixo e retire as aspas que estão comentando o codigo (para que ele funcione)

With ws
' .Unprotect Password:="password"
 .Cells(iRow, 1).Value = Me.BoxNome.Value
 .Cells(iRow, 2).Value = Me.BoxCidade.Value
 .Cells(iRow, 3).Value = Me.BoxIdade.Value
 .Cells(iRow, 4).Value = Me.BoxSexo.Value

' .Protect Password:="password"
End With

'limpa os dados do formulario
Me.BoxNome.Value = ""
Me.BoxCidade.Value = ""
Me.BoxIdade.Value = ""
Me.BoxSexo.Value = ""
Me.BoxNome.SetFocus

End Sub

Private Sub CommandButton2_Click()  'macro do botão Cancelar
Unload Me
End Sub

Link para o comentário
Compartilhar em outros sites

Excel trabalha em linha nao em coluna, por uma serie de fatores o modo correto é o primeiro.

 

Mas quiser realmente fazer assim

 

Troque essa parte do codigo

 

 

 .Cells(iRow, 1).Value = Me.BoxNome.Value
 .Cells(iRow, 2).Value = Me.BoxCidade.Value
 .Cells(iRow, 3).Value = Me.BoxIdade.Value
 .Cells(iRow, 4).Value = Me.BoxSexo.Value

 

 

Por esta

 

 

 .Cells(iRow, 1).Value = Me.BoxNome.Value
 .Cells(iRow +1, 1).Value = Me.BoxCidade.Value
 .Cells(iRow+2, 1).Value = Me.BoxIdade.Value
 .Cells(iRow+3, 1).Value = Me.BoxSexo.Value

 

 

 

Link para o comentário
Compartilhar em outros sites

Agradeço seu comentário, meu real interesse para este código seria esta função aqui: 

 

este.thumb.PNG.2647d5e215cfa76dc86c4395937e3768.PNG

 

ao lado dos sabores colocar a quantidade, quando preenchesse o formulário, ai depois salvasse em pdf e imprimir o pedido e depois zerar tudo para o próximo, mas creio que nao sera possivel da forma que quero :/

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...