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.
Por Sullivan2021
Posts
#62915
Boa noite pessoal, estou com uma dúvida. Preciso executar uma macro, porém, ela só pode ser executada se o valor de uma determinada célula for correspondente à “FALSO”. Então, se a célula W34 apresentar escrito dentro dela “FALSO” a seguinte macro (que já está funcionando perfeitamente e tem como atividade copiar as células de AF2 até AH2 numa lista) rodará:
Código: Selecionar todos
Range("AF2:AH2").Select
    Selection.Copy
    Range("AW1").Select
    
    If Range("AW2").Value <> "" Then
    Selection.End(xlDown).Select
    End If
    
    ActiveCell.Offset(1, 0).Select
    
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    ActiveWindow.ScrollColumn = 43
  
    Range("AF1").Select
    Application.CutCopyMode = False
End Sub
Se na célula W34 apresentar qualquer outro valor, ou até mesmo não apresentar nenhum conteúdo, a macro acima não será executada e não acontecerá nada. Vocês sabem o que preciso colocar nesse código acima para que isso tudo possível?

Agradeço a atenção!!
Por osvaldomp
#62917
#
Acrescente as linhas em vermelho, conforme abaixo.

If [W34] = False Then
Range("AF2:AH2").Select
...
...
Application.CutCopyMode = False
End If
Sullivan2021 agradeceu por isso
Por osvaldomp
#62960
Bacana. Que bom que resolveu.
Já que você está aprendendo, segue uma dica: não utilize Select nos seus códigos, pois esse comando raramente é necessário, ele tende a aumentar o tempo de execução, além de limitar a versatilidade e a criatividade na elaboração do código, aumentar o tamanho do código e ainda provocar lampejos na tela (flicking).

Por exemplo, o trecho de código que você publicou acima pode ser escrito assim (uma única linha de código copia e cola, e sem Select):
Código: Selecionar todos
 Range("AF2:AH2").Copy Cells(Rows.Count, "AW").End(xlUp)(2)
JCabral agradeceu por isso
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