Ir para conteúdo
Fórum Script Brasil
  • 0

Alteração


Orlando - Excel

Pergunta

Boa tarde,

Estou fazendo um formulario numa planilha de orçamento, ele gera um numero crescente a cada gravação

porém esse formulario pra se tornar um pedido, geralmente sofre mudanças de alguns produtos e ai quero grava-lo de novo na

mesma planilha (só que alterado) como posso fazer isso?

criei um outro formulario pedido em que eu localizo o numero do orçamento e ele me aparece como o orçamento original

só que tenho que mudar alguns itens desse orçamento ou quantidades para poder lança-lo como pedido definitivo

como devo proceder?

obrigado

Link para o comentário
Compartilhar em outros sites

9 respostass a esta questão

Posts Recomendados

  • 0
o codigo fiz mesmo pelo auxiliar de macro, na verdade funciona assim

tenho uma planilha para orçamentos com diversos itens, todos eles funcionam pelo "procv"coloco o codigo e aparece o produto, preço, etc. e gera um numero de orçamento. ok?

ai gravo via macro numa planilha chamada dados.

criei uma segunda planilha chamada pedido em que digito o numero do orçamento baseado na planilha dados e me apresenta todas as informações do orçamento via "procv em cada linha" porém como quero efetivar o pedido do cliente, as vezes preciso alterar alguns item ou codigos, ou quantidades, só que: SE EU FIZER ISSO VOU REMOVER OS "PROCV" DE CADA LINHA.

minha duvida!!! como faço esse pedido ser alterado via VBA sem deletar as formulas PROCV de cada linha.

opa, orlando, foi mal a demora. mas então, mesmo assim o melhor é você postar o codigo gerado da macro tb pra gente ter uma ideia do q ele esta fazendo.

agora tb não entendi direito sua duvida. esses items ou codigos ou quantidades q você tem q alterar estao na primera ou na segunda planilha??

talvez você devesse editar a formula da celula e não o valor dela. tipo assim:

Worksheets("Nome_Da_Planilha").Range("A1").Formula = " - ponha o procv aqui - "

veja ai se consegue adaptar no seu codigo, senao poste ele ai e aponte onde é q esta sendo feita essa alteracao q vai remover o procv().

tb to movendo esse tópico pra vba.

Link para o comentário
Compartilhar em outros sites

  • 0

orlando, se eu entendi o q você quer, uma forma q pensei aqui seria o seguinte. no change da quantidade na planilha pedidos, você passa o valor digitado pra planilha dados e depois traz o procv de volta.

tenta assim, inclua esse codigo na planilha pedidos:

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Column = 6 And (Target.Row >= 9 And Target.Row <= 17) Then
        If Not IsNumeric(Target.Formula) Then Exit Sub
        
        Dim r As Range, i As Integer
        
        i = 2
        Do While Worksheets("Dados").Range("B" & i).Value <> Worksheets("Pedidos").Range("J5").Value
            i = i + 1
        Loop
        
        Dim c As Integer
        
        c = 8 + (6 * (Target.Row - 10))
    
        Set r = Worksheets("Dados").Range("B" & i)
        Set r = r.Offset(, c - 2)
        r.Value = Target.Value
        
        Target.Formula = "=vlookup($J$5,Dados!$B:$GS," & Trim(CStr(c - 1)) & ",0)"
    End If
End Sub[/code]

Link para o comentário
Compartilhar em outros sites

  • 0

oi Kuroi!!!

como eu havia dito não enendo muito de VBA

mas pelo que eu entendi o que voce me mandou cria o procedimento de retornar os Procv na planilha Pedidos, é isso?

bom, eu digitei tudo pra tentar entender no exibir codigo da aba Pedidos, mas fiquei sem saber como usar, mesmo porque ainda assim não tenho como alterar os Procv da planilha Pedidos para efetiva-la

poderia me fazer o favor de explicar melhor o que acontece com essa programação?

Obrigado e abraços

Link para o comentário
Compartilhar em outros sites

  • 0

então, orlando, esse codigo ai funcionou na planilha q você passou.

ele faz o seguinte. você ta na planilha pedidos. ai você altera a quantidade de um dos produtos. o q ele faz, assim q você digita, ele pega o novo valor q você pos, e salva na coluna correspondente la na planilha dados. e poe o procv() de volta na coluna q você alterou.

tdo o q você tem q fazer é copiar esse codigo dentro do codigo da planilha pedidos (no editor do visual basic).

so q o codigo é baseado na posicao das colunas. se você mudou a posicao em relacao aquela planilha q você me passou, tem q mudar o codigo tb.

veja ai, se você não conseguier, quando eu chegar em casa, eu te mando a planilha funcionando, pra você ver.

Link para o comentário
Compartilhar em outros sites

  • 0

bom dia Kuroi,

agora que voce explicou entendi e relamente funcionou, mas...

na validação do pedido eu tambem faço alteração de produtos pelo codigo dele e tambem qtde de pessoas de horario, enfim todas as informações que estão lá podem ser trocadas, alguns produtos podem ser eliminados e outros não, creio que a unica coisa que não muda é cliente.

mas nesse procedimento que me mandou só posso mudar as quantidades, achei interessante.

e tem mais, creio que terei que fazer uma nova aba de Dados de Pedidos para gravar os mesmos definitivos, porque a partir dela pretendo criar estoques de produtos

mas ta valendo, estamos chegando lá

abraços

Link para o comentário
Compartilhar em outros sites

  • 0

orlando, ai você vai ter q adaptar o meu codigo pro resto do formulario.

no codigo q passei, repare na linha:

If Target.Column = 6 And (Target.Row >= 9 And Target.Row <= 17) Then

ela ta fazendo a funcao funcionar somente para a primera parte da coluna das quantidades.

pra fazer funcionar pro resto você teria q adaptar, mas tem q ficar de olho pra qual coluna o procv() aponta na planilha de dados.

mas sera q o melhor não seria você fazer um formulario (UserForm) pro cara fazer a edicao?? talvez de menos trabalho.

Link para o comentário
Compartilhar em outros sites

  • 0
orlando, ai você vai ter q adaptar o meu codigo pro resto do formulario.

no codigo q passei, repare na linha:

If Target.Column = 6 And (Target.Row >= 9 And Target.Row <= 17) Then

ela ta fazendo a funcao funcionar somente para a primera parte da coluna das quantidades.

pra fazer funcionar pro resto você teria q adaptar, mas tem q ficar de olho pra qual coluna o procv() aponta na planilha de dados.

mas sera q o melhor não seria você fazer um formulario (UserForm) pro cara fazer a edicao?? talvez de menos trabalho.

Kuroi, estive pensando e realmente voce tem razão!!! É melhor fazer um userform para ser editado com as modificações, porém não consegui conceber como fazer o procedimento para que a pessoa digite o codigo do produto e altere o(s) item(s) desejados. poderia me dar uma força quanto a isso?

abraços

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...