Vídeo recomendado
https://youtu.be/diWPPPhW-9E

Inserindo dados

Fórum para dúvidas sobre os fundamentos da linguagem de programação Visual Basic no contexto do VBA
mellus
Acabou de chegar
Acabou de chegar
Mensagens: 8
Registrado em: Seg Ago 04, 2014 8:29 am

Inserindo dados

Mensagem por mellus »

Senhores,

Tenho uma planilha que usarei para entrada de dados aba (ENTRADA) e outra aba (DADOS) em que farei tratamento estatístico das informações, não estou conseguindo copiar os dados da aba ENTRADA para aba de DADOS. Fiz um VBA e não sei onde estou errando, alguma alma bendita poderia me dar uma luz.

MM
Anexos
teste.rar
(36.84 KiB) Baixado 253 vezes


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Avatar do usuário
Reinaldo
Jedi
Jedi
Mensagens: 1537
Registrado em: Sex Ago 01, 2014 4:09 pm
Localização: Garça - SP / SCS - SP

Re: Inserindo dados

Mensagem por Reinaldo »

Experimente:
Exclua a rotina nome "Private Sub Botão8_Clique()"; que está no modulo de planilha "Entrada"
Altere a rotina de mesmo nome, existente no Modulo1 conforme abaixo;somente os 3 primeiro dados, complete conforme suas colunas/linhas:

Código: Selecionar todos

Private Sub Botão8_Clique()
Dim Lin As Long
Application.ScreenUpdating = False
Lin = 2
Do Until Sheets("DADOS").Cells(Lin, 1) = ""
   Lin = Lin + 1
Loop

Sheets("DADOS").Cells(Lin, 1) = Sheets("ENTRADA").Range("F4")
Sheets("DADOS").Cells(Lin, 3) = Sheets("ENTRADA").Range("F5")
Sheets("DADOS").Cells(Lin, 4) = Sheets("ENTRADA").Range("D4")

Range("D4, D5, D6, D7, D8, D9, D10, F4, F5, F6, F7, F8, F9, H5, H6, H7, H8, H9, A13, A16").ClearContents

Application.ScreenUpdating = True
End Sub


mellus
Acabou de chegar
Acabou de chegar
Mensagens: 8
Registrado em: Seg Ago 04, 2014 8:29 am

Re: Inserindo dados

Mensagem por mellus »

Rmarco,

Muito bom...resolveu o problema, somente houve critica na linha de limpeza - Range("D4, D5, D6, D7, D8, D9, D10, F4, F5, F6, F7, F8, F9, H5, H6, H7, H8, H9, A13, A16").ClearContents


Avatar do usuário
Reinaldo
Jedi
Jedi
Mensagens: 1537
Registrado em: Sex Ago 01, 2014 4:09 pm
Localização: Garça - SP / SCS - SP

Re: Inserindo dados

Mensagem por Reinaldo »

Bom que deu certo.
Quanto a "limpeza", pode continuar a utilizar da maneira que estava esboçada, porem utilizo normalmente como enviei e não tenho/recebo qualquer erro.
Qual a mensagem? A planilha está protegida?


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


mellus
Acabou de chegar
Acabou de chegar
Mensagens: 8
Registrado em: Seg Ago 04, 2014 8:29 am

Re: Inserindo dados

Mensagem por mellus »

Rmarco,

Ele está criticando célula mesclada, a A13 e A16 são mescladas.

Tenho outra dúvida:
Quero somar 3 células quando atenderem a um critério, veja:

Sheets("DADOS").Cells(Lin, 2) = WeekdayName(Weekday(Sheets("DADOS").Cells(Lin, 1)), False) esta linha que dá o dia da semana - critério

Sheets("DADOS").Cells(Lin, 19) = (Sheets("DADOS").Cells(Lin, 15) - Sheets("DADOS").Cells(Lin, 11)) * 0.886
Sheets("DADOS").Cells(Lin, 20) = (Sheets("DADOS").Cells(Lin, 16) - Sheets("DADOS").Cells(Lin, 12)) * 0.886
Sheets("DADOS").Cells(Lin, 21) = (Sheets("DADOS").Cells(Lin, 17) - Sheets("DADOS").Cells(Lin, 13)) * 0.886
Sheets("DADOS").Cells(Lin, 22) = (Sheets("DADOS").Cells(Lin, 18) - Sheets("DADOS").Cells(Lin, 14)) * 0.886


As linhas acima o resultado de medição.

quero somá-los quando obedecerem a um critério, por exemplo, se na linha do critério o dia da semana for sábado, então ele me somaria o resultado das colunas 19, 20, 21 e 22, tentei fazer usando a expressão abaixo, mas retorna o erro #VALOR!.

Sheets("DADOS").Cells(Lin, 23) = Application.SumIf(Sheets("DADOS").Cells(Lin, 2), "sábado", (Sheets("DADOS").Cells(Lin, 19) + Sheets("DADOS").Cells(Lin, 20) + Sheets("DADOS").Cells(Lin, 21) + Sheets("DADOS").Cells(Lin, 22)))

Onde estou errando?

Obrigado

MM


Avatar do usuário
Reinaldo
Jedi
Jedi
Mensagens: 1537
Registrado em: Sex Ago 01, 2014 4:09 pm
Localização: Garça - SP / SCS - SP

Re: Inserindo dados

Mensagem por Reinaldo »

A função somase requer que a range "critério" seja mesmo tamanho que range soma; então creio que no que pretende é melhor experimentar assim:

Código: Selecionar todos

If (Sheets("DADOS").Cells(Lin, 2) = "sábado") Then
Sheets("DADOS").Cells(Lin, 23) = Application.WorksheetFunction.Sum(Sheets("DADOS").Range(Cells(Lin, 19), Cells(Lin, 22)))
End If
Quanto ao erro que relatou, não consigo reproduzi-lo, mesmo em células mescladas. Poste o seu arquivo com a rotina/dados que está dando o erro, talvez assim possamos "ver" o que ocorre realmente.


mellus
Acabou de chegar
Acabou de chegar
Mensagens: 8
Registrado em: Seg Ago 04, 2014 8:29 am

Re: Inserindo dados

Mensagem por mellus »

Rmarco,

Segue o arquivo para análise, tirei o mesclado da A13 e A16 e deu certo, mas a formula sugerida não funcionou veja a planilha completa.

MM
Anexos
Pasta1.rar
(54.1 KiB) Baixado 265 vezes


Avatar do usuário
Reinaldo
Jedi
Jedi
Mensagens: 1537
Registrado em: Sex Ago 01, 2014 4:09 pm
Localização: Garça - SP / SCS - SP

Re: Inserindo dados

Mensagem por Reinaldo »

Veja se atende
Anexos
Pasta1.zip
(58.38 KiB) Baixado 257 vezes


mellus
Acabou de chegar
Acabou de chegar
Mensagens: 8
Registrado em: Seg Ago 04, 2014 8:29 am

Re: Inserindo dados

Mensagem por mellus »

Rmarco,

NOTA 10...isso mesmo

MM


Edudinha
Colaborador
Colaborador
Mensagens: 36
Registrado em: Sáb Out 22, 2011 12:03 pm

Re: Inserindo dados

Mensagem por Edudinha »

tendo como base a inserção de dados do colega mellus, é possivel tambem criar um botão de consulta, que uma vez que selecionar a área responsavel, ele me busca todos os tecnicos que foram lançados na planilha base?.

Att.

edu


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Responder