Este fórum está sendo desativado

Depois de 9 anos, este fórum será desativado. Mas calma.... estamos migrando para uma comunidade no DISCORD. Junte-se a nós.

ENTRAR PARA DISCORD

Tópicos relacionados a códigos VBA, gravação de macros, etc.
  • Avatar do usuário
Avatar do usuário
Por Angra
Posts Avatar
#55481
Bom dia
Tenho uma lista com formulas simples referenciadas, onde um valor é deletado e outro corresponde na mesma linha também. Quando faço a reposição desses valores, as formulas referenciadas são deletadas :D :D
Você não está autorizado a ver ou baixar esse anexo.
Por babdallas
#55482
Se o primeiro bloco for vazio, pega do terceiro bloco, caso contrário pega do primeiro bloco? Seria isso?
Código: Selecionar todos
=SE($J10="";$AR10;$J10)
Avatar do usuário
Por Angra
Posts Avatar
#55487
Ainda não é isso. Tenho a macro que copia do bloco 3 para o bloco 1. Após essa copia o bloco 2 fica ativo com esses valores do bloco 1. O que preciso é de um "gatilho", assim que deletar um valor qualquer no bloco 1, esse mesmo valor referenciado no bloco 2 é deletado. Preciso de um artificio que delete no bloco 2 o correspondente no bloco 1, mas sem perder as formulas residentes no bloco 2 :D :D
Por babdallas
#55496
Quando você diz deletar os valores, significa deletar a linha (ou a célula) ou apenas apagar o valor do bloco1?
Avatar do usuário
Por Angra
Posts Avatar
#55507
"Quando você diz deletar os valores, significa deletar a linha (ou a célula) ou apenas apagar o valor do bloco1?"
Apagar o valor do bloco 1 e por conseguinte o valor correspondente no bloco 2 :D :D
Por babdallas
#55508
Se o bloco 2 tem uma fórmula que depende do bloco 1, então se você apagar um valor do bloco 1, consequentemente o valor do bloco 2 será apagado. Por isso peço que dê um exemplo prático, porque ainda não entendi o problema (desculpe a minha lentidão em entender seu problema).
Avatar do usuário
Por Angra
Posts Avatar
#55512
"então se você apagar um valor do bloco 1, consequentemente o valor do bloco 2 será apagado", junto com as formulas. Meu problema é encontrar uma maneira de conservar as formulas do bloco 2, depois que não existir mas valores no bloco 1. Porque aí eu preciso outra vez copiar os valores do bloco 3 e colar no bloco 2 mas as formulas não estão mais lá. Então preciso encontrar uma maneira de copiar do bloco 3 para o bloco 2 e ficar tudo como estavam antes. Não existe uma maneira de deixar os valores do bloco 3 sempre como formulas e depois copiar tudo do bloco 3 para o bloco 2.
Por babdallas
#55514
O fluxo que eu tinha entendido era:
Bloco3: bloco que você edita
Bloco1: recebe valores do bloco 3 toda vez que você digita algo no bloco 3
Bloco2: será sempre igual aos valores do Bloco1

Estou com dificuldade de entender o seu problema. Minha sugestão é você fazer um passo a passo, explicando o fluxo entre esses blocos e mostrando de forma detalhada quando e porque você possui um problema.
Desculpe não ter entendido até agora. Talvez alguém já tenha entendido e possa te ajudar. Mas para eu te ajudar eu preciso entender exatamente este fluxo das informações entre os blocos.
Por babdallas
#55526
Não sei se é isso. Teste alterar as colunas N e P e ver o efeito nas colunas U e V, respectivamente.
Código: Selecionar todos
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Application.Intersect(Target, Me.Range("Bloco1_1")) Is Nothing Then
        Me.Range("Bloco2_1").Cells(Target.Row - Me.Range("Bloco1_1").Range("A1").Row + 1, 1).Value = Target.Value2
    End If
    
    If Not Application.Intersect(Target, Me.Range("Bloco1_2")) Is Nothing Then
        Me.Range("Bloco2_2").Cells(Target.Row - Me.Range("Bloco1_2").Range("A1").Row + 1, 1).Value = Target.Value2
    End If
End Sub
Você não está autorizado a ver ou baixar esse anexo.
Avatar do usuário
Por Angra
Posts Avatar
#55538
Outra coisa percebida, usando uma macro de copiar/colar, só os dois primeiros valores são copiados/colados. A lista inteira tem 340 linhas (AU5:AU340) mais 340 linhas (AX5:AX340). :roll: e digitar tudo...
A macro de copiar usada:

Sub Copi()
Application.ScreenUpdating = False
Range("ah10:aj14").Copy
Range("n10").PasteSpecial xlPasteValues
Range("A1").Select
Application.CutCopyMode = False
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub

Resultado obtido com a macro de copiar:
x__x _______ x x
x__x
x__x
x__x
x__x
Por babdallas
#55542
Código: Selecionar todos
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Application.Intersect(Target, Me.Range("AU5:AU340")) Is Nothing Then
        Me.Range("FH5:FH340").Cells(Target.Row - Me.Range("AU5:AU340").Range("A1").Row + 1, 1).Value = Target.Value2
    End If
    
    If Not Application.Intersect(Target, Me.Range("AX5:AX340")) Is Nothing Then
        Me.Range("FI5:FI340").Cells(Target.Row - Me.Range("AX5:AX340").Range("A1").Row + 1, 1).Value = Target.Value2
    End If
End Sub
Quanto à macro de copiar valores, você quer copiar valores de que qual intervalo para qual intervalo?
Por babdallas
#55547
Código: Selecionar todos
Public Sub Copiar()
    With Planilha1
        .Range("FH5:FI340").Value2 = .Range("FY5:FU340").Value2
        .Range("AU5:AU340").Value2 = .Range("FY5:FU340").Value2
        .Range("AX5:AX340").Value2 = .Range("FY5:FU340").Value2
    End With
End Sub
long long title how many chars? lets see 123 ok more? yes 60

We have created lots of YouTube videos just so you can achieve [...]

Another post test yes yes yes or no, maybe ni? :-/

The best flat phpBB theme around. Period. Fine craftmanship and [...]

Do you need a super MOD? Well here it is. chew on this

All you need is right here. Content tag, SEO, listing, Pizza and spaghetti [...]

Lasagna on me this time ok? I got plenty of cash

this should be fantastic. but what about links,images, bbcodes etc etc? [...]

Estamos migrando para uma comunidade no Discord