-
Total de itens
831 -
Registro em
-
Última visita
Tudo que Alyson Ronnan Martins postou
-
Fiz um filtro que funciona em base de valores inseridos em uma celula, porem quero utilizar valores que são gerados em uma coluna na tabela para utilizar eles como criterios pra um novo filtro que vai ser usado e o primeiro filtro descartado
pergunta respondeu ao zFuegos de Alyson Ronnan Martins em VBA
Olá @zFuegos, você teria uma planilha com valores fictício para ajuda a entender melhor? Para colocar uma planilha só colocar no onedrive ou gogledrive e compartilhar via link. -
Ajuda só para guru, com contribuição pix
pergunta respondeu ao luciano piler de Alyson Ronnan Martins em VBA
@luciano piler -
Ajuda só para guru, com contribuição pix
pergunta respondeu ao luciano piler de Alyson Ronnan Martins em VBA
Fiz um teste e aparentemente esta correto. Foi criado código para fazer a leitura do conteudo do excel olhando para a a coluna de quantidade (usando constante, dessa forma você pode adaptar para sua planilha emprecisar procurar no código aonde usar ela). Public Sub DuplicarItemListaEDividirDinheiro() Dim totalLinhasPlanilha As Long Dim linhaAtual As Long Dim quantidadeAtual As Long Dim valorNovo As Double Const ACRESCIMO_LINHAS As Long = 1 Const LINHAS_INICIAL_LOOP As Long = 2 Const QUANTIDADE_MIN_DIVISOR As Long = 1 Const COLUNA_QUANTIDADE As String = "D" Const COLUNA_VALOR As String = "E" 'Captura a ultima linha da planilha totalLinhasPlanilha = fnTotalLinhas For linhaAtual = totalLinhasPlanilha To LINHAS_INICIAL_LOOP Step -ACRESCIMO_LINHAS 'Verificar se a quantida é maior de 1 quantidadeAtual = Cells(linhaAtual, COLUNA_QUANTIDADE).Value If quantidadeAtual > QUANTIDADE_MIN_DIVISOR Then 'Dividir o valor total pela quantidade valorNovo = Cells(linhaAtual, COLUNA_VALOR).Value / quantidadeAtual 'Inserir linha abaixo Rows(linhaAtual + ACRESCIMO_LINHAS & ":" & linhaAtual + quantidadeAtual - ACRESCIMO_LINHAS).Insert Shift:=xlDown 'Inicial um loop 'Caso a linha esteja vazia repete o valor da linha superior 'Coloca o valor da quantidade pelo mínimo definido 'Coloca o valorNovo na coloca valor ReplicarValorLinhaAbaixo linhaAtual, _ quantidadeAtual, _ QUANTIDADE_MIN_DIVISOR, _ valorNovo End If Next linhaAtual End Sub Para fazer o preenchimento da linhas abaixo coloquei ou outro procedimento, só para não ficar tudo misturado: Public Sub ReplicarValorLinhaAbaixo(linhaInicial As Long, quantidadeTotal As Long, quantidadeMinima As Long, novoValor As Double) Dim linhaAtual As Long Dim ultimaLinha As Long Const CORRECAO_LINHA As Long = -1 Const COL_CODIGO As String = "A" Const COL_GUIA As String = "B" Const COL_ITEM As String = "C" Const COL_QTD As String = "D" Const COL_VALOR As String = "E" ultimaLinha = linhaInicial + quantidadeTotal + CORRECAO_LINHA For linhaAtual = linhaInicial To ultimaLinha 'Caso a linha não esteja preenchida pega o texto da linha superior If Cells(linhaAtual, COL_CODIGO).Value = "" Then Cells(linhaAtual, COL_CODIGO).Value = Cells(linhaAtual + CORRECAO_LINHA, COL_CODIGO).Value Cells(linhaAtual, COL_GUIA).Value = Cells(linhaAtual + CORRECAO_LINHA, COL_GUIA).Value Cells(linhaAtual, COL_ITEM).Value = Cells(linhaAtual + CORRECAO_LINHA, COL_ITEM).Value End If 'Atualizar quantidade e valor Cells(linhaAtual, COL_QTD).Value = quantidadeMinima Cells(linhaAtual, COL_VALOR).Value = novoValor Next linhaAtual End Sub E como a planilha pode aumentar de tamanho deixei a ultima linha dinâmica fazendo uma função: Public Function fnTotalLinhas() As Long fnTotalLinhas = Cells(Rows.Count, "A").End(xlUp).Row End Function Segue o link do arquivo excel para download e teste: SepararItemResumo.xlsm Antes de processar: Depois de processar: -
Ajuda só para guru, com contribuição pix
pergunta respondeu ao luciano piler de Alyson Ronnan Martins em VBA
-
MANTER TEXTBOX PREENCHIDO AO GRAVAR
pergunta respondeu ao Dorival1000 de Alyson Ronnan Martins em VBA
Sobe seu documento no google drive ou one drive, com dados fictícios, e coloca aqui. Mais é interessante ter algum código. -
MANTER TEXTBOX PREENCHIDO AO GRAVAR
pergunta respondeu ao Dorival1000 de Alyson Ronnan Martins em VBA
Boa tarde @Dorival1000, espero que esteja tudo bem e evoluindo no seu início de aprendizado. Quando você faz o procedimento gravar, tem uma linha fazendo a limpeza dos campos? -
Planilha de cadastro de afiliados com consulta
pergunta respondeu ao Luiz Fernando Baccarelli de Alyson Ronnan Martins em VBA
Qual o erro @Luiz Fernando Baccarelli? -
SAP SCRIPT + VBA (imprimir nota fiscal)
pergunta respondeu ao Rhuan Patric de Alyson Ronnan Martins em VBA
Boa tarde. Você poderia usar o "SENDKEYS" para enviar comando a tela de salvar. Olhando seu código você os processos direto no código web e depois que aparece você já não vai estar manipulado HTML e sim janela. -
Você teria uma arquivo exemplo, com dados fictícios, assim te ajudar mais facilmente? É a tabela aonde é pego os nomes dos menus
-
Bom dia. Foi realizar um teste no seu código e vi que está funcionando. Porém de uma maneira diferente... Quando agente vai fazer uma pesquisa usamos um textbox mais você, olhando o nome do campo, está usando um label: searchValue = VPesquisado.Caption Caso eu tenha entendi errado e o campo seja um textbox altere ele para ".value" assim vai pegar o texto do campo. Agora seguindo a sua regra de negócio eu coloquei um textbox para colocar a informação em um label com o nome que preenche a listview: Coloquei um evento para limpar o listview e depois mandei fazer o prenchimento novamente assim olhando o que precisa ser colocado: Option Explicit Private Sub campo_Change() AlterarValorPesquisado campo.Value LimparListViewRes PreencherListViewRes End Sub Private Sub UserForm_Initialize() AdicionarColunasListView PreencherListViewRes End Sub Sub AdicionarColunasListView() Dim coluna As ColumnHeader ' Adiciona as colunas With ListViewRes ' Adiciona as colunas com os cabeçalhos Set coluna = .ColumnHeaders.Add(, , "EMPRESA") coluna.Width = 52 Set coluna = .ColumnHeaders.Add(, , "PRODUTO") coluna.Width = 87 Set coluna = .ColumnHeaders.Add(, , "QUANTIDADE") coluna.Width = 100 Set coluna = .ColumnHeaders.Add(, , "APRESENTACAO") coluna.Width = 190 Set coluna = .ColumnHeaders.Add(, , "PREÇO 1") coluna.Width = 62 Set coluna = .ColumnHeaders.Add(, , "PREÇO 2") coluna.Width = 50 Set coluna = .ColumnHeaders.Add(, , "EAN") coluna.Width = 50 Set coluna = .ColumnHeaders.Add(, , "DATA") coluna.Width = 50 Set coluna = .ColumnHeaders.Add(, , "PUBLICADA") coluna.Width = 60 Set coluna = .ColumnHeaders.Add(, , "ATUALIZADA") coluna.Width = 60 ' Define o estilo das colunas (opcional) ListViewRes.View = lvwReport End With End Sub Sub PreencherListViewRes() Dim searchValue As String Dim ws As Worksheet Dim lastRow As Long Dim listViewRow As Long Dim resultListView As ListView ' Defina o nome da planilha onde você deseja procurar Set ws = ThisWorkbook.Sheets("TabelaValores") ' Defina o valor do rótulo a ser pesquisado searchValue = VPesquisado.Caption ' Limpar a ListView antes de adicionar novos resultados Set resultListView = ListViewRes ' Encontrar a última linha na coluna A lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row ' Loop através das células na coluna A e verificar os valores For listViewRow = 2 To lastRow ' Começa na linha 2 para pular o cabeçalho If LCase(Trim(ws.Cells(listViewRow, 1).Value)) = LCase(Trim(searchValue)) Then ' Adicionar os valores das colunas B a K na ListView Dim col As Integer Dim newItem As ListItem Set newItem = resultListView.ListItems.Add(, , ws.Cells(listViewRow, "B").Value) For col = 3 To 11 ' Colunas C a K newItem.ListSubItems.Add , , ws.Cells(listViewRow, col).Value Next col End If Next listViewRow End Sub Public Sub LimparListViewRes() ListViewRes.ListItems.Clear End Sub Public Sub AlterarValorPesquisado(novoValor As String) VPesquisado.Caption = novoValor End Sub @IsraelB, olha se isso era o que estava procurando.
-
codigo excel cola numero com vírgulas, mesmo não tendo virgula na tabela
pergunta respondeu ao davimilazzo de Alyson Ronnan Martins em VBA
-
Qual o nome da tabela? para seu item abaixo: Dessa maneira é feita uma coisa por vez.
-
Boa noite. Ficou um pouco confuso o seu objetivo, consegue dividir ela para tentar te ajudar?
-
Erro em Tempo de Execução -2174467259 (80004005)
pergunta respondeu ao EAM2021 de Alyson Ronnan Martins em VBA
Bom dia. Você tentou acompanhar o processo inspecionando a sequências do seu código? Fazendo dessa maneira da para ter uma noção de onde esta acontecendo o problema. -
[AJUDA] Como gerar um texto com opções em VBA, usando UseForm no Excel?
pergunta respondeu ao BodeJNR18 de Alyson Ronnan Martins em Visual Basic
Bom dia. Vou classificar as duvidas que encontrei no seu texto e vou colocar em tópicos: Usar função procv no VBA: Application.VLookup Eu usaria uma iteração para encontrar o texto procurado dentro da tabela. Aguardo mais duvidas. -
Bom dia. Sua duvida ficou um pouco confusa.
-
preencher campos do cliente automatico ao digitar o cnpj do cliente
pergunta respondeu ao jpmildborges de Alyson Ronnan Martins em Access
Bom dia. Depende um pouco do seu conhecimento, se tiver conhecimento em VBA dá sim para fazer o "auto preenchimento" mais se você quer apenas uma pesquisa recomendo fazer um campo no cabeçalho ou no rodapé. Se você tiver um mine projeto, com dados fictícios, posso dar uma ajudar na linha de raciocínio acima. -
Confecção de código VBA para Excel
pergunta respondeu ao Adriano_Aragão de Alyson Ronnan Martins em VBA
Boa tarde. Olhando o código vi que colocou duas vezes o código “CopiaCola”. Pode ter sido apenas aqui no fórum. Para aumentar a velocidade ou desempenho do seu código recomendado desativar as atualizações de tela e atualização de cálculos. Isso melhora muito porque a macro não vai ter que esperar atualizar tela ou calcular as coisas. sub CopiaCola() 'Desativar a atualizado e calculo Application.ScreenUpdating = False Application.Calculation = xlCalculationManual 'Seu código ... 'Ativar novamente a atualização e calclo Application.ScreenUpdating = originalScreenUpdating Application.Calculation = originalCalculation end sub Claro que para melhorar o desempenho as vezes você deve pensar ao contrário de uma lógico comum. Qual o real objetivo para levar as informações em outra tabela? Será que não poderia pegar o resultado que você espera usando outra solução em VBA? Mesmo assim se fosse necessário pegar essas informações eu acho que tentaria usar SQL na planilha. (Mais só testando para ver se daria certos) Espero ter ajudado -
Boa tarde. seria algo mais ou menos assim? Sub InserirLinha() Dim linhaParaInserir As Long ' Defina o número da linha onde você deseja inserir a nova linha linhaParaInserir = 3 ' Inserir uma nova linha acima da linha especificada Rows(linhaParaInserir).Insert End Sub
-
Bom dia. Tenta usar o conteúdo desse artigo: Link
-
Boa tarde. Já tentou executar seu código em modo de "debug", você pode verificar em que momento ele dar o erro 404. Dessa maneira você vai apertando F8 para ir acompanhando o seu código que foi executado.
-
Imprimir com impressoras diferentes
pergunta respondeu ao Alain Henriques de Aguiar de Alyson Ronnan Martins em VBA
Boa tarde. Tenta definir a área de impressão por VBA: ActiveSheet.PageSetup.PrintArea = "$A$6,$A$3" -
Boa tarde. Tentar fazer uma consulta e usar o relatório para puxar os dados. quando você cria “sessão” (divisão para partes ou grupos do relatório) você pode colocar uma soma de determinado campo. Aí fica muito parecido com Excel.