Como Mudar as caracteristicas das mensagens do Msgbox ou InputBox ?

Anônima
2015-05-22T05:49:10+00:00

Bom Dia pessoal.

Como sou inciante em VBA, achei muito bom,pratico e facil de usar o Msgbox,InputBox nas rotinas que estou comecando a praticar.

Gostaria de saber se tem alguma maneira de mudar a caracteristica das mensagens com negrito ou tamanho de letra para poder destacar em determinados trechos das mensagens sem usar outros artificios complicados.

Desde ja agradeco

Tadao

Microsoft 365 e Office | Excel | Para uso doméstico | Windows

Pergunta bloqueada. Essa pergunta foi migrada da Comunidade de Suporte da Microsoft. É possível votar se é útil, mas não é possível adicionar comentários ou respostas ou seguir a pergunta.

0 comentários Sem comentários
Resposta aceita pelo autor da pergunta
Anônima
2015-05-31T20:22:52+00:00

Sobre Range("A1"), é mais simples do que você perguntou: se você escrever Range("A1") em qualquer componente do seu projeto VBA, o Excel interpretará que é a célula A1 da planilha ativa.

Da mesma forma, se você escrever Worbooks("Pasta1.xlsm").Worksheets("Plan1").Range("A1"), de qualquer componente se referenciará à célula A1 da planilha A1 da pasta de trabalho Plan1. Onde você escreve o código independe...


"Eu entendo Pasta de Trabalho como Diretorio"

A terminologia é importantíssima:

  • Pasta de Trabalho: um arquivo de Excel (xlsx, xlsm, xls, etc.)
  • Planiliha: uma "aba" de uma pasta de trabalho
  • Diretório: um caminho do Windows Explorer que possui arquivos.

Infelizmente, há muita confusão nisso. A própria microsoft chama pasta de trabalho de planilha, em alguns casos...

E a tal da "pasta" do windows explorer confunde com a "pasta de trabalho", do Excel... complicado =\


"

ThisWorkbook se refere à pasta de trabalho que está executando o código

e a mesma coisa que dizer ThisWorkbook se refere ao arquivo que esta executando o codigo?"

Correto!


"se tenho os codigos escritos no arquivo cartao pontos e tiver que ativar o arquivo dados(Workbooks("dados"), e do arquivo dados quiser voltar ou acessar celulas do arquivo cartao ponto em vez de escrever (Workbooks("cartao ponto")) e a mesma coisa que escrever ThisWorkbook que vai entender como sendo o arquivo cartao ponto onde estao escritos os codigos?."Correto!


Esta resposta foi útil?

0 comentários Sem comentários
Resposta aceita pelo autor da pergunta
Anônima
2015-05-26T02:55:59+00:00

Tadao, a indicação da Lucíola está correta. Você provavelmente recebeu dicas de pequenas rotinas VBA de mim ou no máximo mais duas pessoas. O melhor lugar para tirar dúvidas VBA é no link que ela te passou mesmo. Poste no canal mostrado abaixo:

Bom, respondendo sua pergunta, não é possível mudar as características de um inputbox dessa forma como deseja. Se quiser personalizar algo desse nível, sugiroq ue você crie um formulário (UserForm) e faça ele se passar por uma caixa de mensagem / diálogo.

O máximo que você pode fazer com a função nativa é alterar o parâmetro Buttons utilizando as partes de enumerações como vbInformation, vbYesNo, etc. para modificar botões ou ícones.

Esta resposta foi útil?

0 comentários Sem comentários
Resposta aceita pelo autor da pergunta
Anônima
2015-05-22T12:10:55+00:00

Olá, TadaoKano! Tudo bem?

Bem-vindo à Comunidade da Microsoft.

Para este cenário com relação à Projeto VBA, sugiro postar sua dúvida na comunidade disponível para desenvolvedores:

Para mais informações, acesse Developer Network

Espero ter ajudado.

Até mais,

Esta resposta foi útil?

0 comentários Sem comentários

17 respostas adicionais

Classificar por: Mais útil
  1. Anônima
    2015-05-27T14:55:46+00:00

    Ola Felipe, obrigado por ter-me atendido .

    Ate onde entrar no editor explorer para VBA, ja tinha assimilado, mas como se ve no anexo acima,os locais para escrever os codigos tem em Module, Sheet e This Wokbook, certo?, fora outros como Class ou User Form que nao questionei.Se por exemplo eu escrever uns codigos simples no Sheet1 e quiser referir o Range("a1") do Sheet1 nao precisa adicionar nada alem do Range("a1").select,por exemplo, porem se quiser referir a mesma celula no Sheet2 teria que escrever Worksheets("Sheet1").Range("a1").Select, correto? e se tivesse escrito os codigos no Sheet2 para referir a uma celula do Sheet1 teria que escrever Worksheets("Sheet1").Range("a1"), e caso escrevesse os codigos em This Workbook ou Module, para referir uma celula em qualquer que seja os Sheets teria que identificar , obviamenete, de qual Workbooks("nomebook") e qual Worksheet("nomedasheet"), nao e verdade? se asim for, entao e melhor escrever os codigos numa sheet que mais tem acessos de dados para omitir nos comandos as referencias do Workbooks("nomearquivo").worksheets("nomedasheet"), nao e? Eu ainda nao entendi para que serve esse This Wokbook e Module....

    Outra pergunta que ficou sem resposta foi de :

    Tenho dois arquivos abertos "dados" e "cartao ponto" e escrevi os codigos abaixo no This workbook do arquivo "cartao ponto". Com o arquivo cartao ponto ativado depurei o programa com F8 e vi que o Autofilter funcionou mas o passo seguinte do select nao funcionou e queria saber o porque. O Natan que estava dando orientacao para mim disse para usar o ws.Activate, mas eu queria saber porque o autofilter funcionou sem ativar o ws?

    Na verdade, no lugar desse select, vou usar o copy, e do jeito que ele estava sugerindo teria que ativar o arquivo dados e fazer o copy, depois voltar a ativar o arquivo cartao de ponto e colar, certo, sao passos a mais que gostaria de evitar pois tem muitos dados.

    Tadao

    Dim ws As Object

    Dim wst As Object

    Set ws = Workbooks("dados").Worksheets("sheet1")

    Set wst = Workbooks("cartao ponto").Worksheets("sheet1")

    ws.Range("a1").AutoFilter 4, "<>" <----------ate aqui funcionou certo

    'ws.Range("a1").CurrentRegion.Select <-----com esse codigo deu erro

    ws.Activate    <--------------------------------tive que usar Activate que eu queria evitar....

    Range("a1").CurrentRegion.Select

    ws.AutoFilterMode = False

    Workbooks("cartao ponto").Worksheets("sheet1").Activate

    P.S. A pergunta de Onde devo escrever os codigos....... surgiu porque vi num dos Forum (nao me lembro qual) de que um participante em apuros pedia ajuda, por nao saber o motivo do codigo que ele escreveu nao funcionar direito. Dai a pessao do Forum que estava dando suporte para ele, disse que para mim o mesmo codigo rodou redondo....dai a pessoa que estava em apuros lembrou que a 3 anos atras um companheiro do trabalho dos EUA tinha alertado para escrever os programas em tal local e ele corrigiu o erro , e a pessao do suporte disse que nao tinha notado desse pormenor pois ele sempre escreveu os codigos no..............Como eu estou entrando firme agora no VBA, gostaria de entrar com PE DIREITO para amanha nao me desanimar por nao funcionar uma simples rotina....

    Desde ja agradeco mais uma vez pela sua atencao

    Tadao

    Esta resposta foi útil?

    0 comentários Sem comentários
  2. Anônima
    2015-05-27T12:48:30+00:00

    De uma forma bem resumida:

    O nome do ambiente de programação do Excel é VBE (Visual Basic Editor), onde se escreve o código VBA. Para mostra-lo, pressione Alt+F11.

    No VBE, pressione Ctrl+R para mostrar o explorador de projetos (Project Explorer). Nele você tem uma hierarquia de todas classes do seu projeto.

    Para criar um módulo, módulo de classe ou formulário, você pode clicar com o botão da direita num dos itens dessa árvore e clicar em Inserir. Por outro lado, se você quiser adicionar código a uma classe existente, basta dar dois cliques no item desejado do Project Explorer.

    Esta resposta foi útil?

    0 comentários Sem comentários