Jump to content
Fórum Script Brasil

osvaldomp

Membros
  • Posts

    18
  • Joined

  • Last visited

Everything posted by osvaldomp

  1. Olá. Sugestão - disponibilize uma amostra do seu arquivo, informe em qual planilha você quer que seja criado o registro a partir da placa do veículo inserida no Form e explique também o que significa "for adicionado um 2 valor na mesma placa".
  2. Olá, Renan. Poderemos tentar ajudar mas para isso é necessário que você disponibilize uma amostra do seu arquivo, com o código instalado e também informe qual é o "intervalo determinado" .
  3. osvaldomp

    Origem de dados

    Olá. Veja se ajuda. Ao executar o comando para exibir o Form (UserForm.Show) esse comando irá buscar no módulo do Form o código Initialize. Se o código Initialize não for encontrado será exibido o Form com seus controles vazios, se encontrado, o Form será exibido com seus controles preenchidos conforme as instruções do código Initialize. Este código colocado em um módulo comum exibe o Form Sub MostraForm() UserForm1.Show End Sub O código abaixo carrega o conteúdo da célula 'C7' da Plan1 na TextBox1 do Form Private Sub UserForm_Initialize() TextBox1.Value = Sheets("Plan1").Range("C7") End Sub
  4. Olá, Gabriel. Sugiro que você disponibilize uma amostra do seu arquivo com cerca de 10 a 15 linhas de dados e com o resultado desejado.
  5. Olá, Efraim. Experimente esta forma: TextBox3.Text = _ "R$ " & Format(Evaluate("=LOOKUP(2,1/((A2:A5=""" & produto & """)*(B2:B5=""" & Sabor & """)),C2:C5)"), "##.00")
  6. Fala, Jefferson. Sei não! Fico com a sua hipótese: milagre...kkk
  7. Olá, Paulo. Me parece que a sua TextBox está em um Form, é isso? Pelo pouco que sei o TextBox não armazena dados ao ser encerrado o Form. Você pode carregar a TextBox com o dado que está na célula colocando um comando no código "Initialize" do Form. Algo assim: Me.TextBox1.Text = Sheets("Plan1").Range("A1").Value
  8. Olá, Jefferson. E estes códigos funcionam? em um módulo comum Sub Teste() MsgBox "olá" End Sub no módulo da planilha Private Sub Worksheet_SelectionChange(ByVal Target As Range) MsgBox "ws SelectionChange funcionou" End Sub
  9. osvaldomp

    <>

    Gustavo, veja se melhorou o meu entendimento. Experimente este código. Sub ListaItensComEsperaV2() Dim wsB As Worksheet, wsO As Worksheet, rngE As Range Dim k As Long, rO As Long, rB As Long, m As Long Set wsB = Worksheets("Base"): Set wsO = Worksheets("Objetivo") rO = wsO.Range("B1:B" & wsO.Range("B1").End(xlDown).Row).Rows.Count - 2 rB = Application.CountIf(wsB.Range("C2:C" & wsB.Range("C2").End(xlDown).Row), ">0") - 1 If wsO.[B2] <> "" Then wsO.Range("B2:E" & Cells(Rows.Count, 2).End(xlUp).Row) = "" If rB - rO > 0 Then wsO.Rows(2).Resize(rB - rO).Insert If rO - rB > 0 Then wsO.Rows(3).Resize(rO - rB).Delete For Each rngE In wsB.Range("C2:C" & wsB.Range("C2").End(xlDown).Row - 1) If rngE.Value > 0 Then wsO.Cells(k + 2, 2) = wsB.Cells(rngE.Row, 1) wsO.Cells(k + 2, 3).Resize(, 3).Value = wsB.Cells(rngE.Row, 3).Resize(, 3).Value k = k + 1 End If Next rngE With wsO .Cells(k + 2, 2) = "TOTAL" .Cells(k + 2, 3) = Application.Sum(.Range("C2:C" & .Range("C2").End(xlDown).Row)) End With End Sub
  10. Olá, Jefferson. Abra o editor de VBA e tecle Ctrl+G. Vai se abrir uma janela "Verificação imediata" na parte de baixo da janela maior. Nessa nova janela digite (ou cole) a expressão ?Application.EnableEvents e sem mover o cursor (que deverá estar à direita da letra "s") tecle Enter. Informe o que aparecerá na linha abaixo.
  11. osvaldomp

    <>

    Ainda não! Na descrição do seu último post você comenta sobre a planilha "Objetivo" : Nesta planilha já tem a linha Total e outras linhas abaixo da Total (na planilha original minha), com formulas e porcentagens além de gráficos. ... eu gostaria de que acrescentasse uma linha nova para cada produto (coluna B) acrescentado, replicando o valor das demais colunas na linha nova inserida (coluna C, D e E), de modo que cada produto novo, inserisse uma linha (igual a de cima, porém com o nome do outro produto) antes do Total e quando tivesse produtos a menos, ele excluísse as linhas que antes foram adicionadas... Essa descrição está mais compatível com a planilha "Base" do que com a planilha "Objetivo". Fiquei confuso pois até aqui me pareceu que a planilha "Objetivo" seria utilizada somente para receber os dados resultantes do código que passei e não receberia digitação, inclusão/exclusão de linhas. (?) Sugiro que você disponibilize nova amostra do arquivo, com estrutura exatamente igual à original, comente nas próprias planilhas o que deseja fazer e coloque também os resultados desejados.
  12. osvaldomp

    <>

    Fala, Gustavo. Fiz os ajustes (em vermelho) com base no arquivo que você postou. Veja se atende. Sub ListaItensComEspera() Dim wsB As Worksheet, wsO As Worksheet, rngE As Range, k As Long Set wsB = Worksheets("Base"): Set wsO = Worksheets("Objetivo") If wsO.[B2] <> "" Then wsO.Range("B2:E" & Cells(Rows.Count, 2).End(xlUp).Row) = "" For Each rngE In wsB.Range("C2:C" & wsB.Range("C2").End(xlDown).Row - 1) If rngE.Value <> 0 Then wsO.Cells(k + 2, 2) = wsB.Cells(rngE.Row, 1) wsO.Cells(k + 2, 3).Resize(, 3).Value = wsB.Cells(rngE.Row, 3).Resize(, 3).Value k = k + 1 End If Next rngE With wsO .Cells(k + 2, 2) = "TOTAL" .Cells(k + 2, 3) = Application.Sum(.Range("C2:C" & .Range("C2").End(xlDown).Row)) End With End Sub
  13. osvaldomp

    <>

    Veja se o "programinha" abaixo ajuda. Se não retornar o resultado esperado disponibilize o arquivo pois nos prints acima não é possível testar o código. Sub ListaItensComEspera() Dim wsB As Worksheet, wsO As Worksheet, rngE As Range, k As Long Set wsB = Worksheet("Base"): Set wsO = Worksheet("Objetivo") wsO.Range("B2:E" & Cells(Rows.Count, 2).End(xlUp).Row) = "" For Each rngE In wsB.Range("C2:C" & Range("C2").End(xlDown).Row - 1) If rngE.Value <> 0 Then wsO.Cells(k + 2, 2) = wsB.Cells(rngE.Row, 1) wsO.Cells(k + 2, 3).Resize(, 3).Value = wsB.Cells(rngE.Row, 3).Resize(, 3).Value k = k + 1 End If Next rngE With wsO .Cells(k + 1, 2) = "TOTAL" .Cells(k + 1, 3) = Application.Sum(.Range("C2:C" & .Range("C2").End(xlDown).Row)) End With End Sub
  14. Olá, Renan. Caso ainda não tenha resolvido... Como e onde é inserido o valor de Y ? O que significa Y.text ? Sugiro que você disponibilize uma amostra do seu arquivo.
  15. Olá, Rodolpho. Somente olhando o seu código fica difícil propor uma solução. Tente adaptar os comandos abaixo, se não conseguir sugiro que você disponibilize uma amostra do seu arquivo. valor da primeira parcela = [valor da compra] - (Application.RoundDown([valor da compra] / [número de parcelas], 2) * ([número de parcelas] - 1)) valor das demais parcelas = (Application.RoundDown([valor da compra] / [número de parcelas], 2)
  16. Olá, xicosantos Comentários: 1. o seu código relaciona os arquivos que têm uma das extensões mencionadas desde que o nome do arquivo se inicie por um algarismo. Então os arquivos que você menciona: ac2345.png, ac2345a.jpg, ac2345b.png, não serão relacionados pois seus nomes não se inicaim por algarismo e sim por letra. 2. o seu código faz o agrupamento dos nomes com base na igualdade do primeiro algarismo do nome, assim, são feitos os agrupamentos seguintes: Celula Ax = 106.jpeg, 106a.jpg, 106b.jpg, 106c.jpg, 106d.jpg >> neste grupo todos os nomes iniciam com o algarismo 1 Celula Ay = 023198AA.png, 023198AAa.png, 023198AAb.jpg >> neste grupo todos os nomes iniciam com o algarismo 0 . Com base nesse critério de agrupar pela igualdade do primeiro algarismo, o código faria um grupo com os seguintes nomes: 7jacaré, 7_macaco, 7 sapo >> todos iniciam pelo algarismo 7 Já, os arquivo com os nomes jacaré, macaco e sapo não seriam relacionadps pois iniciam por uma letra e não por um algarismo Faça os testes e retorne para dizer o que precisa.
  17. Olá. O evento "Change" é disparado em decorrência de qualquer alteração em qualquer célula, efetuada via teclado, via mouse (colar/arrastar) ou via código. O evento "Calculate" é disparado sempre que a planilha for recalculada. Lembrando que os códigos disparados por tais eventos devem estar instalados no módulo da planilha de interesse. Caso não solucione, sugiro que você disponibilize uma amostra do seu arquivo, com os códigos instalados, comente na própria planilha como quer disparar o código e quais ações deseja que o código execute, se necessário coloque exemplos manualmente para facilitar o entendimento dos resultados que deseja.
×
×
  • Create New...