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-27T17:44:51+00:00

    Referir somente a Range("A1") pode ser perigoso. Range("A1") é equivalente, no VBA, a ActiveSheet.Range("A1"). Se você quiser que seja A1 de uma planilha específica, terá que escrever Worksheets("Sheet1").Range("A1"). Mas o perigo não pára por aí. Se você tiver duas pastas de trabalho abertas, Worksheets("Sheet1").Range("A1") é equivalente a ActiveWorkbook.Worksheets("Sheet1").Range("A1"). Então, uma dica seria utilizar o objeto ThisWorkbook. A diferença do ThisWorkbook para o ActiveWorkbook é que o ThisWorkbook se refere à pasta de trabalho que está executando o código, não importando qual pasta de trabalho está ativa.

    Mas então você poderia reclamar que é moroso escrever esse tanto para representar uma célula. Por exemplo:

    ThisWorkbook.Worksheets("Sheet1").Range("A1") = ThisWorkbook.Worksheets("Sheet1").Range("A1") + 1

    É um código para adicionar 1 unidade à uma célula determinada. Muito ruim. O que programadores fazem é usar variáveis para representar objetos. Por exemplo:

    Dim ws as Worksheet

    Set ws = ThisWorkbook.Worksheets("Sheet1")

    ws.Range("A1") = ws.Range("A1") + 1

    O código fica melhor de ler, entender e fazer manutenção.


    O ThisWorkbook que você vê no Project Explorer não tem a ver com o ThisWorkbook que uso nos exepmolos do código acima. Favor não confundir.

    Esta resposta foi útil?

    0 comentários Sem comentários
  2. Anônima
    2015-05-27T17:39:06+00:00

    Todo código que você quer executar intencionalmente, através de uma ação sua - como apertar um botão ou pressionar a tecla F5 - deve ser colocado em Módulos.

    Se você quiser que um código execute quando você alterar uma célula de uma planilha (por exemplo), deverá colocar o código num desses objetos que no seu caso estão nomeados como SheetN. Se você quiser que um código execute quando você, por exemplo, abrir uma pasta de trabalho, o codigo deverá ficar em ThisWorkbook.

    Em outras palavras, se quiser que um código responda a eventos, o seu código deve ser colocado no objeto desejado. Se quiser que ele seja acionado através de um botão ou explicitamente pela tecla F5 ou Alt+F8, coloque num módulo.

    Obviamente, o objeto Worksheet aceita diferentes eventos dos Workbook. Para ver uma lista dos eventos de Worksheet, dê dois cliques num dos Sheet e faça a seleção como fiz:

    O assunto de eventos é bem rico. No entanto, estou percebendo, no seu caso, que todo seu código deve residir em módulos, e não em classes dos objetos Worksheet ou Workbook.

    Esta resposta foi útil?

    0 comentários Sem comentários