Logo Hardware.com.br
RicTheGreat
RicTheGreat Super Participante Registrado
666 Mensagens 13 Curtidas

Excel VBA

#1 Por RicTheGreat 11/11/2009 - 14:50
Ola amigos.
Estou fazendo uma formulario para registro de dados no excel, os registros sao feitos através de uma macro.
Tenho a planilha formulario(Plan1) e a registros. Quando clico no botao registrar do formulario os dados são inseridos na registros.
Até ai tudo bem, mas eu preciso que quando o excel detectar dados numa celula pule para a proxima, formando assim quase que um banco de dados.

Só tenho o básico ate agora:

Sub Botão1_Clique()
Range("B1&quot.Select
Selection.Copy
Sheets("Registros&quot.Select
Range("A2&quot.Select
ActiveSheet.Paste
Application.CutCopyMode = False
Range("A3&quot.Select
End Sub


Como eu faço para analisar valores em uma célula, e se existirem pular para a proxima? Obrigado.
Coloniz@dor
Coloniz@dor General de Pijama Registrado
3.8K Mensagens 153 Curtidas
#2 Por Coloniz@dor
11/11/2009 - 14:57
RicTheGreat disse:
Ola amigos.
Estou fazendo uma formulario para registro de dados no excel, os registros sao feitos através de uma macro.
Tenho a planilha formulario(Plan1) e a registros. Quando clico no botao registrar do formulario os dados são inseridos na registros.
Até ai tudo bem, mas eu preciso que quando o excel detectar dados numa celula pule para a proxima, formando assim quase que um banco de dados.

Só tenho o básico ate agora:

Sub Botão1_Clique()
Range("B1&quot.Select
Selection.Copy
Sheets("Registros&quot.Select
Range("A2&quot.Select
ActiveSheet.Paste
Application.CutCopyMode = False
Range("A3&quot.Select
End Sub


Como eu faço para analisar valores em uma célula, e se existirem pular para a proxima? Obrigado.



Essa macro seleciona a proxima linha em branco:

Sub Vazia()
Range("A60000").End(xlUp).Offset(1, 0).Select
End Sub

entendendo:

Range("A60000") - essa celula vai ser selecionada
.End(xlUP) - ira percorrer de baixo para cima
.Offset(1, 0) - o 1 significa linha , então pula uma linha abaixo da celula preenchida e o 0 significa a coluna no caso será na mesma coluna vai ser 0.

abraço.
Soluções em Excel VBA, Access VBA, C# e ASP.NET
Flashcooler
Flashcooler Geek Registrado
2K Mensagens 74 Curtidas
#7 Por Flashcooler
13/11/2009 - 11:10
No caso o programa esta contando a coluna A, então se por acaso na linha estiverem tudo preenchido mas a coluna A estiver em branco, ai realmente vai dar erro, pois ele vai entender que a linha esta em branco. Para evitar isto, é melhor você colocar o código para varrer uma coluna que nunca possa estar em branco. Por exemplo a coluna C nunca podera estar em branco, o código fica assim.

Sub Vazia()
Range("C60000").End(xlUp).Offset(1, 0).Select
End Sub

Ai no formulário você cria um laço IF para garantir que á celula da coluna C nunca fique me branco.

T mais
Society, you are a crazy breed I Hope you are not lonely without me... mostrando_lingua.png

When you want more than you have You think you need... !!

Coloniz@dor
Coloniz@dor General de Pijama Registrado
3.8K Mensagens 153 Curtidas
#12 Por Coloniz@dor
16/11/2009 - 11:39
RicTheGreat disse:
Tem como pegar esse código

Sub Vazia()
Range("A60000&quot.End(xlUp).Offset(1, 0).Select
End Sub
e atribuir a linha em branco a uma variável para inserir os dados ?

Quase pronto a macro, assim que finalizada eu posto wink.png.

Edit:
Ja consegui. Fiz assim:

Dim Linha As Integer
Linha = Activecell.row
Range ("A" & Linha)


Isso , a variavel linha será a linha da celula ativa.
Soluções em Excel VBA, Access VBA, C# e ASP.NET
RicTheGreat
RicTheGreat Super Participante Registrado
666 Mensagens 13 Curtidas
#13 Por RicTheGreat
16/11/2009 - 14:37
Aproveitando o tópico tenho outra dúvida.

Tenho 3 planilhas, uma para cadastro (Plan1), outra para os registros (Registros) e outra para exibir os resultados (Resultados) de acordo com um certo filtro.

Tem como eu colocar algum filtro nessa terceira planilha (dos resultados) para que os dados se atualizem caso o filtro desta for mudado?
Exemplo: A célula com as localidades (lista) será o filtro principal. Se eu mudo ela (na tabela resultados) todos os resultados dessa mesma tabela se atualizariam conforme esse filtro.

Obrigado!
Coloniz@dor
Coloniz@dor General de Pijama Registrado
3.8K Mensagens 153 Curtidas
#14 Por Coloniz@dor
16/11/2009 - 14:40
RicTheGreat disse:
Aproveitando o tópico tenho outra dúvida.

Tenho 3 planilhas, uma para cadastro (Plan1), outra para os registros (Registros) e outra para exibir os resultados (Resultados) de acordo com um certo filtro.

Tem como eu colocar algum filtro nessa terceira planilha (dos resultados) para que os dados se atualizem caso o filtro desta for mudado?
Exemplo: A célula com as localidades (lista) será o filtro principal. Se eu mudo ela (na tabela resultados) todos os resultados dessa mesma tabela se atualizariam conforme esse filtro.

Obrigado!


Vc quer exibir os resultados do filtro onde ?
Soluções em Excel VBA, Access VBA, C# e ASP.NET
© 1999-2024 Hardware.com.br. Todos os direitos reservados.
Imagem do Modal