All posts by Mauro Coutinho

VBA – TextBox para digitar placas de Veículos

Colegas, tenho visto alguns Tópicos nos Foruns que participo sobre a questão de se permitir a digitação ambigua em um mesmo TextBox somente com LETRAS e NUMEROS, estava pesquisando sobre a possibilidade e até encontrei algumas opções, mas teriamos de desenvolver um Function para tal, então achei uma forma mais simples, que seria a utilização de 02(dois) Textbox (Agrupados) onde no final o resultado Concatenado nos da o que pretendemos alem de impedir que se digite Numero no local que são para Letras e vice-versa.

Confiram no anexo, para digitação de Placas de Veiculos, acredito ser uma solução paliativa mas funcional, nos possibilitando outras combinações.

TextBox Placas
TextBox Placas

Download do Arquivo

TxtBoxPlacas.zip

VBA – Personalizar texto em Botão – MsgBox

Colegas, mais uma dica utilizando-se MsgBox.

Em um outro Forum apareceu a questão se seria possível personaliar os Textos dos Botões em um MsgBox, ou seja trocar o “SIM”, NÃO” ou “CANCELAR” , resultantes das constantes: “vbYesNoCancel” por um Texto qualquer.

Então digo, que é possível utilizando-se APIs, apesar de achar melhor utilizarmos um UserForm para tal, isso devido as APIs serem Bibliotecas do Windows, e podemos ter incompatibilidades com determinadas versões.

Mas quem quiser ver um exemplo, segue o anexo, testado no Excel 2003 sem problemas.

O código foi tirado do Site abaixo:

Custom button captions in standard MsgBox

http://www.mrexcel.com/forum/showthread.php?t=70581

Download do arquivo

CaptionButomMauro.rar

VBA – Fechar MsgBoxs Automaticamente

Diante de uma duvida surgida no nosso Forum, “FECHAR MSGBOX AUTOMATICAMENTE” coloco a solução criada pelo nosso colega JoseA :

Fechar MsgBoxs automáticamente por JoseA:

        Global oSHL As Object
 
        Sub AutoCloseMsgBox(Mensagem As String, Titulo As String, Segundos As Integer)
            Set oSHL = CreateObject("WScript.Shell")
            oSHL.PopUp Mensagem, Segundos, Titulo, vbOKOnly + vbInformation
        End Sub
 
        Sub AutoMessage()
        'Fechar MsgBoxs automáticamente por JoseA
 
        'Call Envia_A
            AutoCloseMsgBox "Msgbox1 - Clique em OK ou aguarde 2 segundos", "Fechar MsgBox1 automaticamente", 2 '2 segundos
        'Call Envia_B
            AutoCloseMsgBox "Msgbox2 - Clique em OK ou aguarde 3 segundos", "Fechar MsgBox2 automaticamente", 3 '3 segundos
        'Call Envia_C
            AutoCloseMsgBox "Msgbox3 - Clique em OK ou aguarde 4 segundos", "Fechar MsgBox3 automaticamente", 4 '4 segundos
        'Call Envia_D
            AutoCloseMsgBox "Msgbox4 - Clique em OK ou aguarde 5 segundos", "Fechar MsgBox4 automaticamente", 4 '5 segundos
 
        End Sub

Na rotina AutoMessage fiz menção somente às msgboxs após a execução de determinadas rotinas, é uma forma simples e direta, podemos fazer essas chamadas diretamente nas rotinas em que estaremos executando.

Essa dica foi postada no site abaixo, no mesmo temos uma outra dica utilizando-se APIS, mas optei por essta por ter menos linhas e ser mais simples.

MsgBox com Time
http://www.vbaexcelforum.com/showthread … 2615713e22

VBA – Scroll Mouse em ListBox

Mais uma do nosso fórum!

Estava revendo alguns arquivos antigos do excel armazenados no PC, são tantos que nos esquecemos do que temos e deixamos alguns interessantes para traz, e encontrei um que habilita o Scroll do Mouse dentro de um Listbox quando este ultrapassar a quantidade de itens, então segue o exemplo a quem possa vir a precisar.

Nativamente, o controle ListBox no VBA não suporta tal funcionalidade.

Bom proveito!

Download da Planilha

ScrollListbox.rar
Scroll Mouse em ListBox