A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 UTFPR – Damat UserForms.

Apresentações semelhantes


Apresentação em tema: "Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 UTFPR – Damat UserForms."— Transcrição da apresentação:

1 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 UTFPR – Damat UserForms UserForms são formulários personalizados pelo programador para criar uma interface entre a pasta de trabalho do Excel e o usuário da aplicação. Abra o Editor do VBA; No menu Inserir, escolha UserForm; A figura mostra como fica o Editor com um UserForm inserido. Apostila - 376

2 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 2 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 2 UTFPR – Damat UserForms Apostila - 376

3 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 3 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 3 UTFPR – Damat UserForms Quando selecionamos o formulário, a caixa de ferramentas fica ativa. Esta, possui todos os objetos necessários para compor o nosso formulário; Apostila - 381

4 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 4 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 4 UTFPR – Damat UserForms Agora vamos adicionar um botão de comando ao formulário UserForm1 e vamos configurar o evento Ao Clicar neste botão para exibir a famosa mensagem Hello World!!! Clique com o botão esquerdo do mouse sobre a opção Botão de Comando e arraste para o formulário, e solte o botão do mouse. Apostila - 381

5 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 5 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 5 UTFPR – Damat UserForms Dê um duplo clique sobre o botão inserido. Você terá a página de códigos. Digite a caixa de mensagem indicada a seguir entre os comandos Sub e End Sub: Pressione o botão Executar Sub/UserForm. Você terá o UserForm no modo execução conforme mostra a Figura: Apostila Private Sub CommandButton1_Click() MsgBox Hello World!!!" End Sub

6 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 6 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 6 UTFPR – Damat UserForms Pressione o botão CommandButton1 Você terá a caixa de diálogo mostrada na Figura. Apostila - 386

7 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 7 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 7 UTFPR – Damat UserForms A Janela Propriedades – UserForm1, mostra todas as propriedades do UserForm. Os outros controles que iremos explorar também terão suas propriedades listadas nesta janela. Altere a propriedade Caption para EXIBIR MENSAGEM!!! Apostila - 395

8 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 8 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 8 UTFPR – Damat UserForms Caixa de Combinação: Um controle do tipo Caixa de combinação (conhecido como ComboBox) é utilizado para exibir uma lista de opções. Estes controles são indicados para campos onde existe um conjunto de valores possíveis e limitado. Nestas situações, é muito mais prático para o usuário selecionar um valor em uma pequena lista, do que ter que digitar o valor. Além disso, o fato do usuário selecionar o valor em uma lista, praticamente elimina a possibilidade de erros de digitação. Apostila - 409

9 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 9 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 9 UTFPR – Damat UserForms Vamos criar um controle do tipo Caixa de Combinação, no qual serão listadas as seções da empresa: Administração Auditoria Contabilidade Finanças Informática Marketing Pesquisa e Desenvolvimento Vendas Além do controle do tipo Caixa de combinação, também adicionaremos um controle do tipo rótulo, para identificar o controle Caixa de combinação. Apostila - 409

10 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 10 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 10 UTFPR – Damat UserForms 1.Crie um novo formulário; 2.Adicione um controle do tipo rótulo; 3.Altere a propriedade Name do controle para Lista e a propriedade Caption para Selecione uma Seção; 4.Dimensione o controle de tal maneira que todo o texto da propriedade Caption possa ser exibido; 5.Altere a fonte do rótulo para negrito, a cor da fonte para vermelho e a cor de fundo do rótulo para amarelo; 6.Seu formulário deverá estar conforme indicado na Figura a seguir: Apostila - 410

11 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 11 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 11 UTFPR – Damat UserForms Apostila - 410

12 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 12 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 12 UTFPR – Damat UserForms 3. Agora vamos adicionar e configurar um controle do tipo Caixa de Combinação. Na Caixa de ferramentas, clique no botão ( ). Clique no formulário, à direita do rótulo. Será criado um controle do tipo Caixa de combinação, no tamanho padrão. Você pode redimensionar o controle para o tamanho desejado. Seu formulário deve estar semelhante ao indicado na Figura a seguir: Apostila - 410

13 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 13 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 13 UTFPR – Damat UserForms 4. Agora vamos definir os itens que serão exibidos no controle do tipo Caixa de combinação. 5. Clique no controle Caixa de combinação para selecioná-lo. Se a janela de propriedades não estiver sendo exibida, pressione a tecla F4 para exibir a janela de propriedades. 6. Altere a propriedade Name para ListaDeSeções. 7. A lista de valores de um controle do tipo Caixa de Combinação é informado através da propriedade RowSource. Nesta propriedade você deve informar uma faixa de células na planilha, onde estão os valores que devem ser exibidos na Caixa de Combinação. Por exemplo, você pode informar o seguinte valor para a propriedade RowSource: Apostila - 411

14 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 14 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 14 UTFPR – Damat UserForms Seções!H1:H8 Neste exemplo, estou informando que serão utilizados os valores da faixa H1 até H8, da planilha Seções, da pasta de trabalho atual. Ou seja, a nossa caixa de combinação terá oito linhas, sendo que o valor da primeira linha é obtido a partir da célula H1 da planilha Seções, o valor da segunda linha é obtido a partir da célula H2 da planilha Seções e assim por diante. Crie a planilha Seções e digite os dados que você deseja exibir no controle Caixa de Combinação. Apostila - 411

15 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 15 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 15 UTFPR – Damat UserForms Administração Auditoria Contabilidade Finanças Informática Marketing Pesquisa e Desenvolvimento Vendas Apostila Digite na planilha Seções, iniciando na célula H1, as seções:

16 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 16 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 16 UTFPR – Damat UserForms 6. Agora já estamos em condições de testar o nosso controle. Clique em qualquer espaço do formulário para selecioná-lo e pressione a tecla F5 para executá-lo. 7. O formulário será carregado. Abra a lista do controle Caixa de combinação. Observe que são exibidos os valores das células H1 até H8, da planilha Seções, conforme pode ser conferido na figura a seguir: Apostila - 411

17 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 17 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 17 UTFPR – Damat UserForms Apostila - 411

18 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 18 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 18 UTFPR – Damat UserForms Propriedades do controle Caixa de Combinação. Apostila Importante: Muitas das propriedades que serão descritas, se aplicam também para outros tipos de controles.

19 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 19 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 19 UTFPR – Damat UserForms Apostila Propriedade AutoSize: Esta propriedade determina se o controle é automaticamente redimensionado para exibir todo o seu conteúdo. Esta propriedade pode ser configurada na janela de propriedades, definindo o seu valor em True ou False Sintaxe usando código VBA objeto.AutoSize = True/False

20 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 20 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 20 UTFPR – Damat UserForms Apostila Propriedade AutoTab: Esta propriedade determina se irá ocorrer a tabulação automática quando um usuário digita o número máximo de caracteres permitido em um TextBox ou na parte da caixa de texto de um ComboBox. Sintaxe usando código VBA objeto.AutoTab = True/False

21 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 21 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 21 UTFPR – Damat UserForms Apostila Propriedade BackColor : Esta propriedade é utilizada para definir a cor de segundo plano do controle. Você verá a cor de fundo de um objeto, somente se a propriedade BackStyle estiver definida como fmBackStyleOpaque. Sintaxe usando código VBA objeto.BackColor [= Longo]

22 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 22 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 22 UTFPR – Damat UserForms Apostila Propriedade BackStyle: Esta propriedade é utilizada para retornar ou definir o estilo de segundo plano do controle. Sintaxe usando código VBA objeto.BackStyle = fmBackStyle

23 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 23 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 23 UTFPR – Damat UserForms Apostila Propriedade BorderColor : Esta propriedade é utilizada para especificar a cor da borda de um controle. Para se conseguir inserir uma borda, a propriedade BorderStyle deve estar definida como FmBorderStyleSingle. Sintaxe usando código VBA: objeto.BorderColor [= Longo]

24 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 24 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 24 UTFPR – Damat UserForms Apostila Propriedade BorderStyle: Esta propriedade especifica o tipo de borda utilizado por um controle ou um formulário. Sintaxe usando código VBA objeto.BorderStyle [= fmBorderStyle]

25 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 25 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 25 UTFPR – Damat UserForms Apostila Propriedade BoundColumn: Esta propriedade identifica a fonte dos dados em um controle do tipo Caixa de combinação (ComboBox) ou Caixa de Listagem (ListBox) de várias colunas. Se o controle tiver duas ou mais colunas, a propriedade BoundColumn indica o valor de qual coluna será associado ao controle, depois que uma das opções da lista tiver sido selecionada. Este valor poderá ser resgatado com a propriedade Value. Sintaxe usando código VBA objeto.BoundColumn [= Variante]

26 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 26 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 26 UTFPR – Damat UserForms Apostila Propriedade Value: Esta propriedade especifica o estado ou conteúdo de um dado controle. Sintaxe usando código VBA objeto.Value [= Variante]

27 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 27 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 27 UTFPR – Damat UserForms Apostila Propriedade ColumnCount : Esta propriedade é utilizada para especificar o número de colunas a exibir em uma caixa de listagem ou caixa de combinação. Sintaxe usando código VBA objeto.ColumnCount [= Longo]

28 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 28 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 28 UTFPR – Damat UserForms Apostila Propriedade TextColumn: Esta propriedade identifica a coluna em um controle Caixa de Combinação (ComboBox) ou Caixa de Listagem (ListBox), para armazenar na propriedade Text quando o usuário selecionar uma linha. Sintaxe usando código VBA objeto.TextColumn [= Variante]

29 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 29 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 29 UTFPR – Damat UserForms Apostila Propriedade Text : Esta propriedade é utilizada para retornar ou para definir o texto em um controle do tipo Caixa de Texto (TextBox). Sintaxe usando código VBA objeto.Text [= Seqüência]

30 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 30 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 30 UTFPR – Damat UserForms Apostila Propriedade ColumnWidths: Esta propriedade é utilizada para especificar a largura de cada coluna de uma caixa de combinação ou caixa de listagem de várias colunas. Por exemplo, você pode definir a largura para três colunas como: 0;3;0. Neste caso, somente a segunda coluna será exibida. Sintaxe usando código VBA: objeto.ColumnWidths [= Seqüência]

31 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 31 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 31 UTFPR – Damat UserForms Apostila Propriedade ColumnHeads: Este controle é utilizado para exibir uma única linha de cabeçalhos de coluna para caixas de listagem, caixas de combinação e objetos que aceitam cabeçalhos de coluna. Sintaxe usando código VBA objeto.ColumnHeads [= Booleano]

32 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 32 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 32 UTFPR – Damat UserForms Apostila Propriedade ControlTipText : Esta propriedade define o texto que aparece quando o usuário mantém, durante um momento, o ponteiro do mouse sobre um controle sem clicar. Sintaxe usando código VBA objeto.ControlTipText [= Seqüência]

33 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 33 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 33 UTFPR – Damat UserForms Apostila Propriedade DropButtonStyle: Esta propriedade especifica o símbolo exibido no botão suspenso de um controle do tipo Caixa de combinação (ComboBox.),sendo que o símbolo padrão é uma flechinha para baixo. Sintaxe usando código VBA objeto.DropButtonStyle [= fmDropButtonStyle]

34 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 34 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 34 UTFPR – Damat UserForms Apostila Propriedade Enabled: Esta propriedade especifica se um controle pode receber o foco e responder aos eventos gerados pelo usuário. Sintaxe usando código VBA objeto.Enabled [= Booleano]

35 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 35 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 35 UTFPR – Damat UserForms Apostila Propriedade Locked: Esta propriedade é utilizada para especificar se um controle pode ter o seu conteúdo editado. Quando um controle está bloqueado e ativado, ele ainda pode iniciar eventos e ainda pode receber o foco, apenas não poderá ter o seu conteúdo alterado. Sintaxe usando código VBA: objeto.Locked [= Booleano]

36 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 36 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 36 UTFPR – Damat UserForms Apostila Propriedade Font: Esta propriedade retorna um objeto do tipo Fonte, o qual define as características do texto utilizado por um controle ou formulário. Utilize as propriedades de fonte para especificar o nome da fonte, definir texto sublinhado ou em negrito ou para ajustar o tamanho do texto.

37 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 37 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 37 UTFPR – Damat UserForms Apostila Propriedade ForeColor: Esta propriedade especifica a cor de primeiro plano de um objeto. Em uma caixa de texto ou de combinação, esta propriedade altera a cor do texto. Sintaxe usando código VBA objeto.ForeColor [= Longo]

38 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 38 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 38 UTFPR – Damat UserForms Apostila Propriedades Height e Width: Estas propriedades definem a altura (Height) e a largura (Width), em pontos, de um objeto. Sintaxe usando código VBA objeto.Height [= Único] objeto.Width [= Único]

39 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 39 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 39 UTFPR – Damat UserForms Apostila Propriedades Left e Top: Estas duas propriedades definem a distância entre um controle e a borda esquerda ou superior do formulário onde está o controle. Sintaxe usando código VBA objeto.Left [= Único] objeto.Top [= Único]

40 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 40 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 40 UTFPR – Damat UserForms Apostila Propriedade ListRows: Esta propriedade é utilizada para especificar o número máximo de linhas a exibir na lista de um controle do tipo Caixa de Combinação ou Caixa de Listagem. Sintaxe usando código VBA objeto.ListRows [= Longo]

41 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 41 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 41 UTFPR – Damat UserForms Apostila Propriedade ListStyle: Esta propriedade é utilizada para especificar o aspecto visual da lista em um ListBox ou ComboBox. Sintaxe usando código VBA objeto.ListStyle [= fmListStyle]

42 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 42 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 42 UTFPR – Damat UserForms Apostila Propriedade ListWidth: Esta propriedade é utilizada para especificar a largura da lista em um controle do tipo Caixa de Combinação (ComboBox). Se o valor for 0, a lista terá o mesmo tamanho do controle. Sintaxe usando código VBA objeto.ListWidth [= Variante]

43 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 43 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 43 UTFPR – Damat UserForms Apostila Propriedade MatchEntry: Esta propriedade é utilizada para retornar ou para definir um valor indicando como um controle do tipo Caixa de Listagem (ListBox) ou Caixa de Combinação (ComboBox) pesquisa sua lista à medida que o usuário digita. Sintaxe usando código VBA objeto.MatchEntry [= fmMatchEntry]

44 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 44 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 44 UTFPR – Damat UserForms Apostila Propriedade MatchRequired: Especifica se um valor digitado na parte texto de um ComboBox deve corresponder a uma entrada na parte lista existente do controle. O usuário pode digitar valores não correspondentes, mas não pode deixar o controle enquanto não for digitado um valor correspondente. Sintaxe usando código VBA objeto.MatchRequired [= Booleano]

45 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 45 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 45 UTFPR – Damat UserForms Apostila Propriedade MaxLength: Especifica o número máximo de caracteres que um usuário pode digitar em um TextBox ou ComboBox. Sintaxe usando código VBA objeto.MaxLength [= Longo]

46 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 46 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 46 UTFPR – Damat UserForms Apostila Propriedade MousePointer: Esta propriedade é utilizada para especificar o tipo de ponteiro exibido quando o usuário posiciona o mouse sobre um determinado objeto. Sintaxe usando código VBA objeto.MousePointer [= fmMousePointer]

47 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 47 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 47 UTFPR – Damat UserForms Apostila Propriedade Row Source: Esta propriedade é utilizada para especificar a origem que fornece uma lista para um controle do tipo Caixa de Combinação (ComboBox) ou Caixa de Listagem (ListBox.). Já utilizamos esta propriedade em um exemplo deste módulo, no qual criamos uma Caixa de Combinação que exibia uma lista de seções. Sintaxe usando código VBA objeto.RowSource [= Seqüência]

48 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 48 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 48 UTFPR – Damat UserForms Apostila Propriedade SpecialEffect: Esta propriedade é utilizada para especificar o aspecto visual de um objeto. Sintaxe usando código VBA objeto.SpecialEffect [= fmButtonEffect] Para Caixa de seleção, Botão de opção, Botão de ativação, use a sintaxe a seguir: Para outros controles, use a sintaxe a seguir: objeto.SpecialEffect [= fmSpecialEffect]

49 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 49 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 49 UTFPR – Damat UserForms Apostila Propriedade TabIndex: Esta propriedade é utilizada para especificar a posição de um único controle na ordem de tabulação do formulário. Sintaxe usando código VBA objeto.TabIndex [= Inteiro]

50 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 50 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 50 UTFPR – Damat UserForms Apostila Propr iedade TabStop: Esta propriedade define se um controle pode receber o foco quando o usuário tabula até ele. Sintaxe usando código VBA objeto.TabStop [= Booleano]

51 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 51 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 51 UTFPR – Damat UserForms Apostila Propriedade TextAlign: Esta propriedade especifica como o texto é alinhado em um controle. Sintaxe usando código VBA objeto.TextAlign [= fmTextAlign]

52 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 52 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 52 UTFPR – Damat UserForms Apostila Propriedade Visible: Esta propriedade especifica se um objeto está visível ou oculto. Sintaxe usando código VBA objeto.Visible [= Booleano]

53 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 53 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 53 UTFPR – Damat UserForms Apostila Propriedade WordWrap: Esta propriedade indica se o conteúdo de um controle quebra automaticamente a linha no final. Sintaxe usando código VBA objeto.WordWrap [= Booleano]

54 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 54 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 54 UTFPR – Damat UserForms – Exemplo1 Exemplo 1: Construir um Caça Níquel usando quatro figuras e sorteando três em cada jogada, premiando quando as três figuras forem iguais. Abra a pasta UserForms.xls; Abra o editor do VBA; No menu Inserir escolha UserForm. Sua tela deve estar como mostra a Figura;

55 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 55 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 55 UTFPR – Damat UserForms – Exemplo1

56 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 56 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 56 UTFPR – Damat UserForms – Exemplo1 Inclua três controles de imagem na parte superior do Form para serem utilizados como o visor do Caça Níquel; Inclua mais quatro controles de imagem na parte inferior do Form para serem utilizados como mostra da figuras disponíveis no sorteio; Insira um rótulo; Aumente o tamanho do UserForm para inserir os controles; Por último, insira dois botões de comando. Tente deixar seu Form como mostra a Figura;

57 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 57 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 57 UTFPR – Damat UserForms – Exemplo1 Agora configure as propriedades dos elementos de exibição, de acordo com a tabela: Para Label1, deixe em branco a propriedade Caption.

58 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 58 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 58 UTFPR – Damat UserForms – Exemplo1 Para inserir as figuras nos 4 controles de imagem, siga os passos: 1.Selecione o primeiro controle de imagem, conforme mostra a figura;

59 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 59 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 59 UTFPR – Damat UserForms – Exemplo1 2.Na janela de Propriedades, mude Name para Figura1. Em seguida, localize a propriedade Picture. Clique em reticências. Você terá a caixa de diálogo Carregar figura como mostra a Figura a seguir;

60 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 60 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 60 UTFPR – Damat UserForms – Exemplo1 3.Na opção Arquivos do tipo, escolha Todos os Arquivos(*.*). Você terá quatro figuras disponíveis. Clique na Figura1 e pressione o botão Abrir;

61 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 61 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 61 UTFPR – Damat UserForms – Exemplo1 4.Você verá no UserForm a primeira figura inserida no controle de imagem (Figura); 5.Execute os mesmos passos para inserir as outras três figuras.

62 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 62 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 62 UTFPR – Damat UserForms – Exemplo1 Para iniciar a codificação, dê um duplo clique no Form para abrir a janela de código. Inclua a declaração da variável Saldo na seção Geral. Dim Saldo As Currency

63 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 63 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 63 UTFPR – Damat UserForms – Exemplo1 Volte ao Form e selecione-o. Dê agora um duplo clique no Form. Escolha o evento Activate, como mostra a Figura; Você terá o procedimento, como mostra a figura, inserido;

64 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 64 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 64 UTFPR – Damat UserForms – Exemplo1 Digite as seguintes linhas de código para o procedimento Activate do UserForm; A instrução Randomize avisa ao VBA para alternar os números produzidos pelo gerador de números aleatórios. Sem essa instrução, haveria uma repetição dos números gerados toda vez que o programa fosse executado; Private Sub UserForm_Activate() Randomize Saldo = InputBox("Quanto você deseja apostar (em R$)?") End Sub

65 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 65 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 65 UTFPR – Damat UserForms – Exemplo1 Em seguida, vamos escrever o código para o botão Sair. Volte ao Form e dê um duplo clique sobre o botão Sair para acessar seu código; Private Sub Sair_Click() If Saldo > 0 Then MsgBox "Você tem " & Saldo & " para receber!!!" Else MsgBox "Hoje você não está com sorte. Tente outro dia!!!" End If End End Sub

66 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 66 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 66 UTFPR – Damat UserForms – Exemplo1 O próximo passo é escrever a rotina do botão Jogada. Dê um duplo clique sobre o botão para acessar seu código. Você terá o esqueleto do procedimento.

67 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 67 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 67 UTFPR – Damat UserForms – Exemplo1 Digite as linhas de código: Dim P1, P2, P3 As Integer 'Gerar números aleatórios P1 = Int(4 * Rnd + 1) P2 = Int(4 * Rnd + 1) P3 = Int(4 * Rnd + 1)

68 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 68 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 68 UTFPR – Damat UserForms – Exemplo1 'Mostrar a figura no visor 1 If P1 = 1 Then Image1.Picture = Figura1.Picture ElseIf P1 = 2 Then Image1.Picture = Figura2.Picture ElseIf P1 = 3 Then Image1.Picture = Figura3.Picture ElseIf P1 = 4 Then Image1.Picture = Figura4.Picture End If

69 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 69 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 69 UTFPR – Damat UserForms – Exemplo1 'Mostrar a figura no visor 2 If P2 = 1 Then Image2.Picture = Figura1.Picture ElseIf P2 = 2 Then Image2.Picture = Figura2.Picture ElseIf P2 = 3 Then Image2.Picture = Figura3.Picture ElseIf P2 = 4 Then Image2.Picture = Figura4.Picture End If

70 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 70 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 70 UTFPR – Damat UserForms – Exemplo1 'Mostrar a figura no visor 3 If P3 = 1 Then Image3.Picture = Figura1.Picture ElseIf P3 = 2 Then Image3.Picture = Figura2.Picture ElseIf P3 = 3 Then Image3.Picture = Figura3.Picture ElseIf P3 = 4 Then Image3.Picture = Figura4.Picture End If

71 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 71 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 71 UTFPR – Damat UserForms – Exemplo1 'Atualização do saldo Saldo = Saldo - 1 'Verificar se o jogador ganhou If P1 = P2 And P2 = P3 Then If P1 = 1 Then Saldo = Saldo + 25 MsgBox "Você tirou a sorte grande!!!" Else Saldo = Saldo + 10 MsgBox "Você venceu!!!" End If

72 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 72 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 72 UTFPR – Damat UserForms – Exemplo1 'Calcular e exibir o total acumulado Label1.Caption = Format(Saldo, "R$0.00") If Saldo <= 0 Then MsgBox "Você está sem crédito!" a = InputBox("Quer mais crédito? Em caso afirmativo, digite Sim.") If a = "Sim" Or a = "sim" Then Saldo = InputBox("Quanto você deseja comprar?") Label1.Caption = Format(Saldo, "R$0.00") End If

73 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 73 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 73 UTFPR – Damat UserForms – Exemplo2 Vamos construir neste exemplo um formulário para entrar com dados cadastrais de funcionários. Para tanto, vamos seguir os passos: 1.Abra o Excel; 2.Insira uma nova pasta de trabalho e salve-a como Cadastro de Funcionários.xls; 3.Nomeie a planilha 1 como Cadastro de Funcionários; 4.Digite nesta planilha os títulos e faça a formatação de bordas conforme mostra a Figura;

74 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 74 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 74 UTFPR – Damat UserForms – Exemplo2

75 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 75 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 75 UTFPR – Damat UserForms – Exemplo2 5.Abra o Editor do VBA; 6.Insira um UserForm; 7.Para a propriedade Caption do UserForm, digite Cadastro de Funcionários e para a propriedade Name digite Cadastro; 8.Insira agora 3 Labels, 3 caixas de texto e 4 botões de comando e deixe-os como mostra a Figura;

76 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 76 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 76 UTFPR – Damat UserForms – Exemplo2

77 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 77 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 77 UTFPR – Damat UserForms – Exemplo2 9.Vamos agora escrever o código para o botão Gravar; 10. Dê um duplo clique no botão gravar e digite o código conforme Figura

78 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 78 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 78 UTFPR – Damat UserForms – Exemplo2 'Ativar a primeira planilha ActiveWorkbook.Worksheets("Cadastro de Funcionários").Activate 'Selecionar a célula A3 Range("A3").Select 'Procurar a primeira célula vazia Do If Not (IsEmpty(ActiveCell)) Then ActiveCell.Offset(1, 0).Select End If Loop Until IsEmpty(ActiveCell) = True

79 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 79 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 79 UTFPR – Damat UserForms – Exemplo2 'Carregar os dados digitados na planilha ActiveCell.Value = TextBox1.Value ActiveCell.Offset(0, 1).Value = TextBox2.Value ActiveCell.Offset(0, 2).Value = TextBox3.Value

80 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 80 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 80 UTFPR – Damat UserForms – Exemplo2 'Limpar as caixa de texto TextBox1.Value = Empty TextBox2.Value = Empty TextBox3.Value = Empty 'Colocar o foco na primeira caixa de texto TextBox1.SetFocus

81 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 81 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 81 UTFPR – Damat UserForms – Exemplo2 11.Volte ao UserForm; 12.Vamos inserir agora o código para o botão Pesquisar; 13.Dê um duplo clique no botão Pesquisar; 14.Digite o código mostrado na Figura;

82 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 82 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 82 UTFPR – Damat UserForms – Exemplo2 'Verificar se foi digitado o nome de um ' funcionário na primeira caixa de texto If TextBox1.Text = "" Then MsgBox "Digite o nome de um funcionário" End If

83 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 83 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 83 UTFPR – Damat UserForms – Exemplo2 Localiza informações específicas em um intervalo, e retorna um objeto Range representando a primeira célula onde essas informações se encontram. Retorna Nothing se nenhuma coincidência for encontrada. Não afeta a seleção da célula ativa. Método Find expressão.Find(What, After, LookIn, LookAt, SearchOrder, SearchDirection, MatchCase, MatchByte, SearchFormat) Sintaxe:

84 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 84 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 84 UTFPR – Damat UserForms – Exemplo2 What Variant obrigatório. Determina os dados a serem procurados. Pode ser uma seqüência de caracteres ou qualquer tipo de dados do Microsoft Excel. After Variant opcional. A célula depois da qual você deseja que a pesquisa comece. Corresponde à posição da célula ativa quando uma pesquisa é feita a partir da interface do usuário. Se você não especificar esse argumento, a pesquisa começará após a célula do canto superior esquerdo do intervalo. LookIn Variant opcional. O tipo de informação. LookAt Variant opcional. Pode ser uma das seguintes constantes xlLookAt: xlWhole ou xlPart.

85 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 85 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 85 UTFPR – Damat UserForms – Exemplo2 With Worksheets("Cadastro de Funcionários").Range("A:A") Set c =.Find(TextBox1.Value, LookIn:=xlValues, LookAt:=xlWhole) If Not c Is Nothing Then c.Activate TextBox1.Value = c.Value TextBox2.Value = c.Offset(0, 1).Value TextBox3.Value = c.Offset(0, 2).Value Else MsgBox "Funcionário não encontrado!" End If End With

86 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 86 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 86 UTFPR – Damat UserForms – Exemplo2 15.Volte ao UserForm; 16.Vamos inserir agora o código para o botão Excluir; 17.Dê um duplo clique no botão Excluir; 18.Digite o código mostrado na Figura;

87 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 87 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 87 UTFPR – Damat UserForms – Exemplo2 'Declarar a variável Resp para receber uma resposta Dim Resp As Integer 'Fazer a busca do registro digitado pelo usuário With Worksheets("Cadastro de Funcionários").Range("A:A") Set c =.Find(TextBox1.Value, LookIn:=xlValues, LookAt:=xlWhole)

88 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 88 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 88 UTFPR – Damat UserForms – Exemplo2 If Not c Is Nothing Then Resp = MsgBox("Tem certeza que deseja excluir o registro?", vbYesNo, "Confirmação") Resp = MsgBox("Tem certeza que deseja excluir o registro?", vbYesNo, "Confirmação")

89 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 89 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 89 UTFPR – Damat UserForms – Exemplo2 If Resp = vbYes Then c.Select Selection.EntireRow.Delete TextBox1.Value = "" TextBox2.Value = "" TextBox3.Value = " Else MsgBox "O registro não será excluído!" End If Else MsgBox "Funcionário não encontrado!" End If End With

90 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 90 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 90 UTFPR – Damat UserForms – Exemplo2 16.Volte ao UserForm; 17.Vamos inserir agora o código para o botão Fechar; 18.Dê um duplo clique no botão Fechar; 19.Digite o código mostrado na Figura;

91 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 91 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 91 UTFPR – Damat UserForms – Exemplo2 Private Sub CommandButton4_Click() Cadastro.Hide End Sub

92 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 92 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 92 UTFPR – Damat UserForms – Exemplo2 16.Finalmente, vamos inserir um botão na planilha para ativar o UserForm; 17.Clique na Planilha Cadastro de Funcionários; 18.No Menu Exibir Barra de Ferramentas, ative a barra Caixa de Ferr. De Controle. Você verá a barra de ferramentas mostrada na Figura;

93 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 93 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 93 UTFPR – Damat UserForms – Exemplo2 19.Na Caixa de ferram. De controle, clique sobre botão de comando e então desenhe na planilha um novo botão; 20.Clique com o botão direito do mouse sobre o botão. Você terá uma caixa de listagem como mostra a Figura;

94 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 94 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 94 UTFPR – Damat UserForms – Exemplo2

95 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 95 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 95 UTFPR – Damat UserForms – Exemplo2 21.Escolha a opção Objeto Botão de Comando e então Editar; 22.Digite para o nome do botão, Cadastro; 23.Você terá a aparência para sua planilha como mostra a figura;

96 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 96 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 96 UTFPR – Damat UserForms – Exemplo2

97 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 97 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 97 UTFPR – Damat UserForms – Exemplo2 24.Agora só falta fazer o botão abrir o UserForm. Clique novamente com o botão direito do mouse e escolha a opção Exibir código; 25.Na linha de código, digite o comando como mostrado na Figura; 26.Ainda no Editor do VBA, pressione na barra de ferramentas o botão para execução do código. 27.No UserForm, pressione o botão Fechar. Seu aplicativo está completo. Teste-o;

98 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 98 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 98 UTFPR – Damat UserForms – Exemplo2 Private Sub CommandButton1_Click() Cadastro.Show End Sub


Carregar ppt "Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 Excel – Macros e Programação em VBA 13 de setembro de 2007Pág. 1 UTFPR – Damat UserForms."

Apresentações semelhantes


Anúncios Google