LOCALIZAR E SUBSTITUIR DADOS
Enviado: 15 Ago 2018 às 15:51
Boa tarde pessoal !
Preciso de uma ajuda com uma macro.
Coloquei o modelo para tentarem identificar o que preciso.
De início, coloquei uma macro que copia os resultados para outras colunas, mas apenas valores, e depois essa coluna com oss valores é copiada para uma aba "registros", que funcionará como um "banco de dados".
Não sei como editar isso para transferir direto como valores, mas do jeito que tá, está funcionando.
No entanto, gostaria de fazer o seguinte.
Vou colocar em uma linha, um campo para selecionar se é novo cadastro ou edição de um novo.
Ao fim da macro, todos os campos serão restaurados com as fórmulas (vou editar ainda).
Vou configurar todas as células para que, caso seja um edição, busque as informações correspondentes na planilha.
Ou seja:
Se novo registro: Fórmulas com suas funções normais.
Se edição: Busca das informações respectivas.
Depois ativarei o macro que irá incluir o novo registro, ou alterar caso já exista.
Essa mesma macro, irá restaurar as fórmulas e valores originais.
No entanto, não sei como configurar para ele realizar essa substituição.
Queria que fosse assim:
O campo em destaque amarelo é o número do registro.
Ele ira buscar esse valor nos "registros" e colar apenas os valores de tudo.
minha macro:
Sub formulario()
'
' VALORES Macro
'
'
Range("P4:AH62").Select
Application.CutCopyMode = False
Selection.Copy
ActiveWindow.ScrollColumn = 13
ActiveWindow.ScrollColumn = 14
ActiveWindow.ScrollColumn = 15
ActiveWindow.ScrollColumn = 16
ActiveWindow.ScrollColumn = 17
ActiveWindow.ScrollColumn = 18
ActiveWindow.ScrollColumn = 19
ActiveWindow.ScrollColumn = 20
Range("AI4").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Dim lUltimaLinhaAtiva As Long
lUltimaLinhaAtiva = Worksheets("Formulário").Cells(Worksheets("Formulário").Rows.Count, 1).End(xlUp).Row + 1
Rows(lUltimaLinhaAtiva & ":" & lUltimaLinhaAtiva).Select
Rows("4:78").EntireRow.Hidden = False
LastLinha = Sheets("Registros").Cells(Rows.Count, 1).End(xlUp).Row
Sheets("Formulário").Range("AI4:BA87").Copy Destination:=Sheets("Registros").Range("A" & LastLinha + 3)
End Sub
Pensei pra solucionar isso em uma fórmula que:
Busque o valor específico que eu digitar em uma célula, na aba de "registros".
Caso ele encontre, ele cole somente os valores a partir dessas célula, pois logo substituirá todas as demais informações.
Caso não encontre, ele não faça nada.
Me ajudaria muito...
Mas...
Não sei como...
Muito obrigado !!!!!!
Preciso de uma ajuda com uma macro.
Coloquei o modelo para tentarem identificar o que preciso.
De início, coloquei uma macro que copia os resultados para outras colunas, mas apenas valores, e depois essa coluna com oss valores é copiada para uma aba "registros", que funcionará como um "banco de dados".
Não sei como editar isso para transferir direto como valores, mas do jeito que tá, está funcionando.
No entanto, gostaria de fazer o seguinte.
Vou colocar em uma linha, um campo para selecionar se é novo cadastro ou edição de um novo.
Ao fim da macro, todos os campos serão restaurados com as fórmulas (vou editar ainda).
Vou configurar todas as células para que, caso seja um edição, busque as informações correspondentes na planilha.
Ou seja:
Se novo registro: Fórmulas com suas funções normais.
Se edição: Busca das informações respectivas.
Depois ativarei o macro que irá incluir o novo registro, ou alterar caso já exista.
Essa mesma macro, irá restaurar as fórmulas e valores originais.
No entanto, não sei como configurar para ele realizar essa substituição.
Queria que fosse assim:
O campo em destaque amarelo é o número do registro.
Ele ira buscar esse valor nos "registros" e colar apenas os valores de tudo.
minha macro:
Sub formulario()
'
' VALORES Macro
'
'
Range("P4:AH62").Select
Application.CutCopyMode = False
Selection.Copy
ActiveWindow.ScrollColumn = 13
ActiveWindow.ScrollColumn = 14
ActiveWindow.ScrollColumn = 15
ActiveWindow.ScrollColumn = 16
ActiveWindow.ScrollColumn = 17
ActiveWindow.ScrollColumn = 18
ActiveWindow.ScrollColumn = 19
ActiveWindow.ScrollColumn = 20
Range("AI4").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Dim lUltimaLinhaAtiva As Long
lUltimaLinhaAtiva = Worksheets("Formulário").Cells(Worksheets("Formulário").Rows.Count, 1).End(xlUp).Row + 1
Rows(lUltimaLinhaAtiva & ":" & lUltimaLinhaAtiva).Select
Rows("4:78").EntireRow.Hidden = False
LastLinha = Sheets("Registros").Cells(Rows.Count, 1).End(xlUp).Row
Sheets("Formulário").Range("AI4:BA87").Copy Destination:=Sheets("Registros").Range("A" & LastLinha + 3)
End Sub
Pensei pra solucionar isso em uma fórmula que:
Busque o valor específico que eu digitar em uma célula, na aba de "registros".
Caso ele encontre, ele cole somente os valores a partir dessas célula, pois logo substituirá todas as demais informações.
Caso não encontre, ele não faça nada.
Me ajudaria muito...
Mas...
Não sei como...
Muito obrigado !!!!!!