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
Avatar do usuário
Por Jore
Posts Avatar
#72417
Boa tarde amigos,
Encontrei um código VBA para bloquear as célulase só aceitarem Números.
Porém encontrei uma falha e não estou sabendo como arrumar...
Eu selecionei uma área e também uma célula separada que só vão aceitar números.
E existe uma célula que poderia aceitar qualquer caracter mas esta dando erro dizendo que só aceita números.
Alguém pode dar uma ajuda para me dizer onde estou erando por favor!

Segue o link para crédito da macro
https://pt.extendoffice.com/documents/e ... mbers.html
Você não está autorizado a ver ou baixar esse anexo.
Avatar do usuário
Por Foxtri
Posts Avatar
#72418
Boa tarde.
´Macro corrigida.
Private Sub Worksheet_Change(ByVal Target As Range)
'Updated by Extendoffice 20191120
Dim xStrV As String
Dim xRg As Range
Dim xIRg As Range
Dim xFNum As Integer
On Error Resume Next
If Not mBol Then
Application.ScreenUpdating = False
Set xRg = Range("E5,D10:J32")
If Not Intersect(xRg, Target) Is Nothing Then
xStrV = Target.Value
If Not IsNumeric(xStrV) Then
mBol = True
Target.Value = vbNullString
MsgBox "Apenas números são permitidos neste campo." & vbNewLine & " " & vbNewLine & " Tente novamente!", , "Atenção!"
End If
Application.ScreenUpdating = True
End If
Else
mBol = False
End If
End Sub

Até
Foxtri
Avatar do usuário
Por Jore
Posts Avatar
#72419
@Foxtri, Bom dia!
Obrigado por me ajudar!
Mesmo assim não funcionou... Aí eu inverti a ordem de ("E5,D10:J32") para ("D10:J32, E5") e funcionou. Não entendi mas deu certo :lol: :lol:
Muito Obrigado mais uma vez!
Por osvaldomp
#72420
Salve, Jore.

Segue uma opção.
Código: Selecionar todos
Private Sub Worksheet_Change(ByVal Target As Range)
 If Target.Count > 1 Then Exit Sub
 If Intersect(Range("E5,D10:J32"), Target) Is Nothing Or Target.Value = "" Then Exit Sub
 If Not IsNumeric(Target.Value) Then
  MsgBox "Apenas números são permitidos neste campo." & vbNewLine & " " & vbNewLine & _
  "Tente novamente!", , "Atenção!"
  Target.Value = ""
 End If
End Sub

=SE(MÊS(A1)<7;"1º sem&a[…]

Bom Dia Senhores. Tenho uma macro que preciso dei[…]

Free relationships without drama and obligations. […]

Girar Imagem e Zoom

Boa noite Teria alguma forma de dar um "[…]

Valeu. Muito Obrigado!!!!!!!!

Pessoal, Ao clicar no botão Copiar (Guia C[…]

Procv com serro em vba

Resolvido

Bom dia, pessoal! com a data de nascimento e data […]

Estamos migrando para uma comunidade no Discord