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 vitorms97
#61042
Bom dia,

Estou com duas dificuldades com lista suspensa e validação dados:

1º) Quando aciono a lista suspensa (a macro Control ActiveX) ele aceita dados que não estão na lista de referência quando digitados. Exemplo: se eu digitar 'pedro', ela vai aceitar mesmo não estando na lista de referência, sendo que na validação de dados se digitasse 'pedro' aparecia uma mensagem de erro.

Código usado p/ lista suspensa:

Option Explicit

Private Sub TempCombo_KeyDown(ByVal _
KeyCode As MSForms.ReturnInteger, _
ByVal Shift As Integer)

'Ocultar caixa de combinação e mover a próxima célula com Enter e Tab
Select Case KeyCode
Case 9
ActiveCell.Offset(0, 1).Activate
Case 13
ActiveCell.Offset(1, 0).Activate
Case Else
'Nada
End Select

End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim str As String
Dim cboTemp As OLEObject
Dim ws As Worksheet
Dim wsList As Worksheet

Set ws = ActiveSheet
Set wsList = Sheets(Me.Name)
Application.EnableEvents = False
Application.ScreenUpdating = False

If Application.CutCopyMode Then
'Permite copiar e colar na planilha
GoTo errHandler
End If

Set cboTemp = ws.OLEObjects("TempCombo")
On Error Resume Next
With cboTemp
.Top = 10
.Left = 10
.Width = 0
.ListFillRange = ""
.LinkedCell = ""
.Visible = False
.Value = ""
End With

On Error GoTo errHandler
If Target.Validation.Type = 3 Then
Application.EnableEvents = False
str = Target.Validation.Formula1
str = Right(str, Len(str) - 1)
With cboTemp
.Visible = True
.Left = Target.Left
.Top = Target.Top
.Width = Target.Width + 15
.Height = Target.Height + 5
.ListFillRange = str
.LinkedCell = Target.Address
End With
cboTemp.Activate

'Abrir a lista suspensa automaticamente
Me.TempCombo.DropDown
End If

errHandler:
Application.ScreenUpdating = True
Application.EnableEvents = True
Exit Sub

End Sub

2º) Como faço diferenciação de minúscula e maiúscula para esse mesmo problema acima?

Desde já agradeço quem puder ajudar!
#61057
vitorms97 escreveu: 11 Dez 2020 às 10:33 1º) Quando aciono a lista suspensa (a macro Control ActiveX) ele aceita dados que não estão na lista ...
Para desativar a digitação na Combo altere a Propriedade Style de 0 para 2.
vitorms97 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