Ir para conteúdo
Fórum Script Brasil

osvaldomp

Membros
  • Total de itens

    18
  • Registro em

  • Última visita

Sobre osvaldomp

Últimos Visitantes

848 visualizações

osvaldomp's Achievements

0

Reputação

  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. osvaldomp

    Loop - Visual Basic

    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.
×
×
  • Criar Novo...