none
Resolução da tela do formulario em excel vba RRS feed

  • Pergunta

  • Boa noite , olha eu mais uma vez aqui...

    Fiz um formulário em vba , tenho duas dúvidas :

    1 - Gostaria de saber , qual o código posso usar que ao iniciar o excel o meu formulário apareça na tela automaticamente.

    2 - gostaria de saber qual o código posso usar para deixar o formulário do tamanho da tela do meu computador, a resolução da minha tela é :1366x768

    Amigos conto com a bondade e apoio de vcs , pois como falei anteriormente estou começando minha vida no vba e já estou adorando e aprendendo bastante.

    Obrigada Fiquem com Deus.

    terça-feira, 5 de fevereiro de 2013 04:18

Respostas

  • Para exibir um formulário automaticamente ao abrir o Excel, cole o código abaixo na classe da pasta de trabalho do seu projeto VBA:

    Private Sub Workbook_Open()
        UserForm1.Show
    End Sub


    Sobre a segunda pergunta, cole o código abaixo num formulário:

    Private Declare Function GetSystemMetrics32 Lib "User32" _
        Alias "GetSystemMetrics" (ByVal nIndex&) As Long
    
    Private Sub UserForm_Initialize()
        Dim nFator As Single
        nFator = 0.75
        Me.Width = GetSystemMetrics32(0) * nFator
        Me.Height = GetSystemMetrics32(1) * nFator
    End Sub

    Nota: pode ser que seja necessário você ajustar o valor de nFator, para um pouco mais ou um pouco menos, mas normalmente esse valor está correto para a maioria das resoluções.


    Felipe Costa Gualberto - http://www.ambienteoffice.com.br

    terça-feira, 5 de fevereiro de 2013 20:18
    Moderador

Todas as Respostas

  • Para exibir um formulário automaticamente ao abrir o Excel, cole o código abaixo na classe da pasta de trabalho do seu projeto VBA:

    Private Sub Workbook_Open()
        UserForm1.Show
    End Sub


    Sobre a segunda pergunta, cole o código abaixo num formulário:

    Private Declare Function GetSystemMetrics32 Lib "User32" _
        Alias "GetSystemMetrics" (ByVal nIndex&) As Long
    
    Private Sub UserForm_Initialize()
        Dim nFator As Single
        nFator = 0.75
        Me.Width = GetSystemMetrics32(0) * nFator
        Me.Height = GetSystemMetrics32(1) * nFator
    End Sub

    Nota: pode ser que seja necessário você ajustar o valor de nFator, para um pouco mais ou um pouco menos, mas normalmente esse valor está correto para a maioria das resoluções.


    Felipe Costa Gualberto - http://www.ambienteoffice.com.br

    terça-feira, 5 de fevereiro de 2013 20:18
    Moderador
  • Olá Hezequias, gostaria de te agradecer pela ajuda, deu certo o código para resolução da tela, porém o código para iniciar o formulario automaticamente não deu certo, será que preciso habilitar alguma ferramenta dentro do meu excel vba? Pois coloquei o código idicado por você salvei e entrei de novo e não deu certo.

    Tenho que colocar este código indicado por você dentro de um módulo?

    Desde já te agradeço.

    Deus te abençoe!

    segunda-feira, 11 de fevereiro de 2013 18:48
  • Você deve colar o primeiro código não num módulo regular, mas na classe EstaPasta_de_trabalho. Veja detalhes de como se fazer isso aqui: http://www.ambienteoffice.com.br/officevba/modulos_em_vba/#inserir_codigo_num_objeto

    Felipe Costa Gualberto - http://www.ambienteoffice.com.br

    sexta-feira, 15 de fevereiro de 2013 21:17
    Moderador