Ir ao conteúdo

Excel vba atalho


Netrox92

Posts recomendados

Postado

Ola,

Estou com um problema, queria fazer tipo um atalho.

Preciso de um codigo de vba para que quando eu aperte por exemplo a tecla "W" ele pinte a celula "A1" e quando eu apertar a tecla "S" pinte a celula "A2"

obrigado

Abraços

Postado

Não seria melhor 'Ctrl W' e 'Ctrl S' para evitar conflitos com digitação?

Se sim, use o código abaixo em qualquer módulo e adicione o atalho através do menu:

(Office 2007) Exibição / Macros / Exibir Macros / (selecione uma macro por vez) / Opções

Sub PintarA1()
' Atalho do teclado: Ctrl+w
Range("A1").Select
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 65535
.TintAndShade = 0
.PatternTintAndShade = 0
End With
End Sub

Sub PintarA2()
' Atalho do teclado: Ctrl+s
Range("A2").Select
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 65535
.TintAndShade = 0
.PatternTintAndShade = 0
End With
End Sub

Se for somente com as teclas W e S eu não sei fazer, já é coisa de mestre... aprenderemos juntos!

Postado

Ola jeffsilveira,

Obrigado pela resposta, mas eu precisava que fose somente com as teclas W e S sem o Ctrl antes.

Espero que tenha algum mestre pra me ajudar

Abraços

Postado

Olá Netrox92

Não sei se é isto que você quer. Aproveitei o código do jeffsilveira.

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)

On Error Resume Next ' Adia o tratamento de erro.

If Target = "w" Or Target = "W" Then

MsgBox "apertou o " & Target

Range("A1").Select

With Selection.Interior

.Pattern = xlSolid

.PatternColorIndex = xlAutomatic

.Color = 65535

.TintAndShade = 0

.PatternTintAndShade = 0

End With

End If

If Target = "s" Or Target = "S" Then

MsgBox "apertou o " & Target

Range("A2").Select

With Selection.Interior

.Pattern = xlSolid

.PatternColorIndex = xlAutomatic

.Color = 65535

.TintAndShade = 0

.PatternTintAndShade = 0

End With

End If

End Sub

Veja se é por aí!!!!

Postado

Simplificando um pouco as coisas:

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)

On Error Resume Next
Range("A1:A2").Interior.Color = 16777215
If UCase(Target) = "W" Then Range("A1").Interior.Color = 65535
If UCase(Target) = "S" Then Range("A2").Interior.Color = 255

End Sub

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!