EXCEL VBA DO LOOP UNTIL - LAÇO de REPETIÇÃO + ANÁLISE com IF

  Рет қаралды 11,602

CANAL SGP

CANAL SGP

Күн бұрын

Пікірлер: 70
@coroinhajb2957
@coroinhajb2957 2 жыл бұрын
obrigado por ajudar compartilhando seu conhecimento.
@CanalSGP
@CanalSGP 2 жыл бұрын
De nada.
@ricardofilho9830
@ricardofilho9830 8 ай бұрын
Parabéns Professor, ótimo video. Eu estou com uma situação parecida, mas eu preciso colar varias vezes o mesmo resultado em loop, usando como referencia a coluna 2
@CanalSGP
@CanalSGP 8 ай бұрын
Bom dia, obrigado, acredito que a estrutura de análise vai ser semelhante.
@ricardofilho9830
@ricardofilho9830 8 ай бұрын
@@CanalSGP With Planilha9 Do Linha = Linha + 1 Loop Until .Cells(Linha, 11).Value = "" .Cells(Linha, 11).Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Aqui eu não estou conseguindo fazer com que ela use a coluna 2 como referencia e cole o mesmo resultado em loop até o final da planilha na coluna 11. Do jeito que está, ela está somente identificando a ultima linha vazia na coluna 11 e colando uma vez só.
@CanalSGP
@CanalSGP 8 ай бұрын
Boa tarde, se deseja a coluna 2 altere onde tem 11 para 2
@olegariomoliveira
@olegariomoliveira 6 ай бұрын
Boa noite! Muito bom. Existe algum lugar com o código fonte?
@CanalSGP
@CanalSGP 5 ай бұрын
Boa tarde, pode solicitar a planilha de exemplo no e-mail do site do canal, link na descrição do vídeo.
@anacleideflorencio4020
@anacleideflorencio4020 Ай бұрын
Tenho uma tabela com várias colunas, e qual melhor código vba para fazer um loop de todas as colunas?
@CanalSGP
@CanalSGP Ай бұрын
Boa noite, acredito que o Loop Until vai atender a necessidade, porque pode colocar ifs dentro e analisar mais de uma coluna ao mesmo tempo.
@kelvinMovies
@kelvinMovies 27 күн бұрын
Boa noite. Como vai. Estimo que esteja bem. Professor, poderia fazer a gentileza de me ajudar com uma situação? Preciso fazer um loop para selecionar apenas as células que sejam diferente de vazio. Para selecionar uma faixa eu até sei, mas essa situação em específico eu estou com dificulade. Desde já muito obrigado
@CanalSGP
@CanalSGP 26 күн бұрын
Bom dia ,mas tem uma coluna que não tem células vazias para se basear o loop, para ter a quantidade de linhas a percorrer.
@kelvinMovies
@kelvinMovies 26 күн бұрын
@CanalSGP eu quero pegar só as informações da coluna c. Ela começa na c8 e desce.
@CanalSGP
@CanalSGP 26 күн бұрын
Boa noite, talvez definir um limite manualmente para o loop.
@kelvinMovies
@kelvinMovies 26 күн бұрын
@CanalSGP eu estava pensando se é possível fazer com essa seleção igual faz com a soma. Na soma, se a célula for diferente de vazio ele soma certo, será que tem alguma de armazenar as células selecionadas se elas forem diferentes de vazio?
@CanalSGP
@CanalSGP 25 күн бұрын
Bom dia, talvez se souber a área que vai ser selecionada, no vba tem mas mesmas funções do Excel normal.
@loteriastyllus
@loteriastyllus 7 ай бұрын
Fantástico! Estou necessitando de algo parecido, porém, preciso transferir da planilha1 para planilha2, excluindo esses dados da planilha1, com base no critério. EX: na coluna "D" tenho ENTRADA e SAÍDA, preciso enviar para planilha2 somente as Saídas. Procurei em sua PlayList algo parecido, porém, não encontrei, Caso tenha esse material, Gentileza, poderia enviar o Link? Desde já Grato....
@CanalSGP
@CanalSGP 7 ай бұрын
Boa tarde, já recebi esta dúvida algumas vezes, mas não consegui desenvolver algo viável ainda.
@TiagoVicente-b9r
@TiagoVicente-b9r 7 ай бұрын
@@CanalSGP Consegui esses 2 dois códigos abaixo, 1º com desenvolvido com "IA", não envia tudo de uma só vez, envia com uma certa quantidade, mas, funciona certinho. Já o 2º é seria perfeito, porém, está tendo um pequeno probleminha, nele consta o link do vídeo. 1º CÓDIGO -------------------------------------------------------------- Sub TransferirTodosDados() Dim ws1 As Worksheet Dim ws2 As Worksheet Dim rng1 As Range Dim rng2 As Range Dim cel As Range Dim crit As String ' Defina as planilhas Set ws1 = ThisWorkbook.Sheets("REGISTRO") Set ws2 = ThisWorkbook.Sheets("SAIDAS") ' Defina o critério (por exemplo, "Valor X") crit = "SAÍDA" ' Defina o intervalo de dados na coluna D da Planilha1 Set rng1 = ws1.Range("G1:G" & ws1.Cells(ws1.Rows.Count, "G").End(xlUp).Row) ' Percorra cada célula na coluna D da Planilha1 For Each cel In rng1 If cel.Value = crit Then ' Copie a linha inteira para a Planilha2 cel.EntireRow.Copy ws2.Cells(ws2.Cells(ws2.Rows.Count, "A").End(xlUp).Row + 1, 1) ' Exclua a linha da Planilha1 cel.EntireRow.Delete End If Next cel End Sub ----------------------------------------------------------------------------- 2º CÓDIGO Sub Transferir_Saidas() Dim LinhaPlan1, LinhaPlan2 As Long Dim ColunaPlan2 As Integer inicio: LinhaPlan1 = 2 While Planilha2.Range("A" & LinhaPlan1).Value "" If Planilha2.Range("G" & LinhaPlan1).Value = "SAÍDA" Then LinhaPlan2 = 2 While Planilha7.Range("A" & LinhaPlan2).Value "" LinhaPlan2 = LinhaPlan2 + 1 Wend For ColunaPlan2 = 1 To 51 Planilha7.Cells(LinhaPlan1, ColunaPlan2).Value = Planilha2.Cells(LinhaPlan1, ColunaPlan2).Value Next ColunaPlan2 Planilha2.Cells(LinhaPlan1, ColunaPlan2).EntireRow.Delete GoTo inicio End If Wend LinhaPlan1 = LinhaPlan1 + 1 'kzbin.info/www/bejne/iIGWfIaJprSHerM End Sub
@CanalSGP
@CanalSGP 7 ай бұрын
Que bom que conseguiu.
@loteriastyllus
@loteriastyllus 7 ай бұрын
@@CanalSGP obrigado
@victorhugo3718
@victorhugo3718 2 жыл бұрын
Muito bom! Estou com uma necessidade de numerar itens, se eu tiver 3 bola azul, numerada de 1 a 3 e comprar 10 bolas, 5 azuis e 5 brancas, q o laço enumere bola azul 4,5,6,7 e 8. Tenho muita dificuldade com vba, pois não entendo mas acho q consigo remanejar essa forma pra resolver esse problema. Se não der certo, preencho no excel e copio e colo.
@CanalSGP
@CanalSGP 2 жыл бұрын
Bom dia, obrigado, não tentei fazer algo assim ainda.
@wascarsilveira1
@wascarsilveira1 4 ай бұрын
Como faço para o vba buscar uma coluna linha em especifico na planilha através de um clique em um botão e depois ficar nessa mesma coluna acessando as células das linhas inferiores também somente através de um clique no botão, mas sem retornar para a primeira célula do primeiro clique, consegue me ajudar nessa? tem como passei o dia tentando, mas sem sucesso, parabéns pelo conteúdo você é fera.
@CanalSGP
@CanalSGP 4 ай бұрын
Bom dia, infelizmente não fiz código com funções semelhantes até o momento.
@OriGammer
@OriGammer 7 ай бұрын
Professor, no caso se eu tivesse que executar essa macro em diversas guias, existe alguma forma de nao ter que repetir diversas vezes o mesmo código? No caso da parte onde referencia a guia: With Planilha1. Se eu tivesse 20 planilhas teria que fazer With Planilha1, With Planilha2, With Planilha3... sendo que é o mesmo código dentro. Tem como fazer com varíavel esse nome da Planilha pra nao ter que ficar copiando e colando?
@CanalSGP
@CanalSGP 7 ай бұрын
Bom dia, teste colocar With Activesheet
@anacleideflorencio4020
@anacleideflorencio4020 Ай бұрын
Bom dia, Tem como fazer loop de 5 colunas da planilha, senda que cada coluna tem um cálculo diferente, e eu queria um código que fizesse o loop que fosse mais rápido no processo.
@CanalSGP
@CanalSGP Ай бұрын
Bom dia, pode alterar a referência a coluna e analisar outras colunas também. .Cells(Linha, 4).Value
@anacleideflorencio4020
@anacleideflorencio4020 Ай бұрын
Faço dessa forma colocando tbm for next, só que demorar finalizar
@anacleideflorencio4020
@anacleideflorencio4020 Ай бұрын
Qual a melhor forma 1 so FOR NEXT para todos, ou 1 FOR NEXT para cada calcula?
@CanalSGP
@CanalSGP Ай бұрын
Boa tarde, depende da análise que vai fazer, mas se conseguir incluir tudo em um único laço é melhor, vai ficar mais rápido.
@anacleideflorencio4020
@anacleideflorencio4020 Ай бұрын
@@CanalSGP deu certo, a questão das células protegidas, muito obrigado.
@anacleideflorencio4020
@anacleideflorencio4020 7 ай бұрын
Olá, tenho uma quantidade de células com tamanho da fonte maior e quero salvar em outra linha com fonte menor no vba
@CanalSGP
@CanalSGP 7 ай бұрын
Boa tarde, teste gravar uma macro para capturar o código fazendo o processo de forma manual. Depois pode acrescentar o código a sua macro que salva o registro.
@renzomorishita1330
@renzomorishita1330 Жыл бұрын
Professor, o que significa o " . " (ponto) antes da expressão "Cells(Linha, 2).value" ?
@CanalSGP
@CanalSGP Жыл бұрын
Bom dia, o ponto é porque referenciei a guia da planilha com With, portanto não preciso repetir o nome da guia, mas dentro do with precisa colocar ponto para informar que se trata da guia do with.
@renzomorishita1330
@renzomorishita1330 Жыл бұрын
Obrigado, Professor!
@CanalSGP
@CanalSGP Жыл бұрын
De nada.
@TheWAGNER3994
@TheWAGNER3994 2 жыл бұрын
Boa noite... Tenho uma necessidade. Preciso criar uma estrutura para extrair uma lista semrepeticao e todas as possibilidades combinatória .a partir do conteúdo dentro de um espaço de ( 10 linhas e 15 colunas). na lista os numeros precisam estar em ordem crescente (da primeira até a décima quinta coluna). Vc pode me ajudar? Obrigado.
@CanalSGP
@CanalSGP 2 жыл бұрын
Boa noite, não fiz algo semelhante ainda, não sei dizer se é possível.
@cicerolobo7583
@cicerolobo7583 10 ай бұрын
Excelente...
@CanalSGP
@CanalSGP 10 ай бұрын
Obrigado
@TheFatalxD
@TheFatalxD 3 жыл бұрын
Olá SGP, primeiramente obrigado pela aula. Como faço para determinar até qual linha eu quero a validação, pois em meu relatório tenho linhas em brancas e linhas preenchidas, dessa forma irei utilizar a sua dica do Exit Do, mas não sei como determinar a linha. PS: Estou utilizando Msgbox quando houver data futura maior que a atual. Exemplo: Dim Linha As Double Linha = 1 With Plan1 Do Linha = Linha + 1 If .Cells(Linha, 38).Value > Date Then Erro = MsgBox("DATA DE ENTREGA MAIOR QUE A DATA ATUAL", vbOKOnly, "Erro") End If
@CanalSGP
@CanalSGP 3 жыл бұрын
Bom dia, pode colocar um número de linhas fixo para saída do loop, por exemplo: Do until Linha = 100 Vai fazer o laço até a linha 100 e parar.
@TheFatalxD
@TheFatalxD 3 жыл бұрын
@@CanalSGP obrigado deu certo, só fiquei na dúvida se eu quiser usar um If para data específica, eu colocaria assim ? Exemplo If .Cells (Linha,38).Value < “01/01/1900” then Erro = MsgBox …
@CanalSGP
@CanalSGP 3 жыл бұрын
Boa tarde, provavelmente vai precisar transformar a data comparativa em número.
@PernambucoMeuPaisOficial
@PernambucoMeuPaisOficial 3 жыл бұрын
boa noite estou usando esse parâmetro : Base1.Range("v1048576").End(xlUp).Offset(1, 0).value2 = Result3.Range("c16:t16").value2 estou copiando de uma planilha para outra do intervalo c16:t16 para sheet base1 , só que só aparece o resultado c16 e não o intervalo ( na base1 estou copiando sempre na próxima célula em branco ), o que estou fazendo de errado ,? obrigado
@CanalSGP
@CanalSGP 3 жыл бұрын
Boa noite, acredito que vai precisar utilizar o comando copy, segue like de vídeo sobre esse tema. kzbin.info/www/bejne/r5_Vdq2HgtKqmKs
@PernambucoMeuPaisOficial
@PernambucoMeuPaisOficial 3 жыл бұрын
@@CanalSGP obrigado
@CanalSGP
@CanalSGP 3 жыл бұрын
De nada
@negociosonline40
@negociosonline40 3 жыл бұрын
Preciso carregar dados na planilha de um link de API fazer a análises destes dados e depois repetir o processo. Tentei fazer com loop mas o loop não deixa a consulta ser carregada. Já usei aplicatiion.wait para fazer essa pausa e carregar a consulta mas também não dá certo.
@CanalSGP
@CanalSGP 3 жыл бұрын
Bom dia, não fiz procedimento assim ainda.
@negociosonline40
@negociosonline40 3 жыл бұрын
@@CanalSGP estou quebrando cabeça, consigo fazer toda a lógica do loop, o problema é que o loop é tão rápido que trava o carregamento da consulta, e sem este carregamento não tem como fazer a análise dos dados. Se puder me dá uma luz ficarei eternamente grato com vc.
@CanalSGP
@CanalSGP 3 жыл бұрын
Boa noite, talvez o que possa fazer é transferir os dados para uma array no VBA e posteriormente fazer a consulta no array.
@santosexplica
@santosexplica 2 жыл бұрын
Preciso copiar e colar dados de 5 em 5 minutos via vba para gerar um banco de dados, tem como?
@CanalSGP
@CanalSGP 2 жыл бұрын
Bom dia, não tentei algo assim ainda, mas vou estudar se tem como.
@renzoheli1929
@renzoheli1929 2 жыл бұрын
Boa noite, O meu está dando Loop sem Do, porém foi inserido o mesmo. O que pode ser?
@CanalSGP
@CanalSGP 2 жыл бұрын
Bom dia, pode ser um Loop de fato sem do ou um if que está sem o end if
@SHOTBOT-ks9lt
@SHOTBOT-ks9lt 2 жыл бұрын
ola, como faço isso em um userform??
@CanalSGP
@CanalSGP 2 жыл бұрын
Bom dia, depende e quais objetos vai utilizar na análise.
@edsonrodrigues4314
@edsonrodrigues4314 2 жыл бұрын
Ops queria ver vc faz codigo pra mim numeros coicidentes pra lotofacil seria loop until
@CanalSGP
@CanalSGP 2 жыл бұрын
Boa tarde, com encomendas não trabalho mais, estou trabalhando para uma empresa agora.
@eusou8431
@eusou8431 4 ай бұрын
quero substituir no vba a expressão "Linha = 4" por "Linha = primeira celula vazia"
@CanalSGP
@CanalSGP 4 ай бұрын
Bom dia, segue link de vídeo sobre localizar próxima linha vazia. kzbin.info/www/bejne/bam8ppqLfdOZbZo
@PernambucoMeuPaisOficial
@PernambucoMeuPaisOficial 3 жыл бұрын
Loop
@CanalSGP
@CanalSGP 3 жыл бұрын
Obrigado
@pedropaulocorrieri6056
@pedropaulocorrieri6056 2 жыл бұрын
Olá, Boa noite, muito útil essa aula, infelizmente não sei da linguagem VBA, gostaria de te pedir uma dica ou um norte Tenho que fazer um relatório da minha equipe e mostrar as diferenças apontadas de Dia x Horas Trabalhadas, exemplo Tabela com Dados já carregados: DATA USER HORAS NO DIA 15/09/2022 | ppcorrieri | 8 16/09/2022 | ppcorrieri | 6 Tenho que trazer a Data e o Resultado para outra tabela a onde as Horas sejam menores do que 8 e dar a resposta como: OK (se Horas = 8) ou: INCONSISTENTE (se Horas < 8) resultado esperado: DATA RESULTADO 15/09/2022 | OK 16/09/2022 | INCONSISTENTE A lógica em si eu sei, porém não sei aplicar isso no Excel, tem alguma dica?
@CanalSGP
@CanalSGP 2 жыл бұрын
Bom dia, não fiz algo semelhante ainda, com fórmulas talvez com a função se, mas como se trata de hora provavelmente vai precisar colocar mais uma coluna e transformara a data em hora.
✅Como Criar LOG no VBA com Inputbox
20:35
Excel Online Brasil
Рет қаралды 3,9 М.
SQL Training | SQL Tutorial | Intellipaat
3:08:06
Intellipaat
Рет қаралды 1,8 МЛН
Quilt Challenge, No Skills, Just Luck#Funnyfamily #Partygames #Funny
00:32
Family Games Media
Рет қаралды 19 МЛН
Why no RONALDO?! 🤔⚽️
00:28
Celine Dept
Рет қаралды 93 МЛН
This Game Is Wild...
00:19
MrBeast
Рет қаралды 195 МЛН
Farmer narrowly escapes tiger attack
00:20
CTV News
Рет қаралды 12 МЛН
Como Fazer Loop VBA no Excel - While VBA
26:32
Guia do Excel
Рет қаралды 8 М.
#15 - macros and Excel VBA - Do While - Loop
19:34
Alessandro Trovato
Рет қаралды 89 М.
✅Qual Melhor LOOP no VBA? LOOP FOR EACH ou LOOP FOR NEXT?
17:21
Excel Online Brasil
Рет қаралды 7 М.
Excel VBA (Aula 02): Condicionais IF / THEN / ELSEIF / ELSE
21:11
Aprendendo Gestão
Рет қаралды 71 М.
EASILY Make an Automated Data Entry Form in Excel
14:52
Kenji Explains
Рет қаралды 879 М.
Macro para EXCLUIR DADOS de Planilha Excel com Botão VBA
18:45
For Each VBA - Utilizando Estrutura de Repetição no VBA
28:16
Hashtag Treinamentos
Рет қаралды 16 М.
15 Macros que você deveria conhecer no Excel
46:13
Guia do Excel
Рет қаралды 84 М.
Quilt Challenge, No Skills, Just Luck#Funnyfamily #Partygames #Funny
00:32
Family Games Media
Рет қаралды 19 МЛН