Professor Leandro | Algoritmos I e II
Pedido vapt-vupt no Excel 2003 (adaptado para Excel 2007)
(Exemplo publicado na revista info EXAME Ano 10 Nº 211 OUTUBRO/2003 pg 114-115).
Objetivo: Criar um formulário de pedido, ou de orçamento, com cálculos automatizados.
Operação: O documento exibe caixas de combinação com a lista dos itens disponíveis. Quando o usuário escolhe um produto nessa lista, o preço e o peso do produto aparecem na mesma linha. Em seguida, quando ele digita uma quantidade, o programa calcula o total parcial e o valor do frete para aquele item.
Passo 1 – Criar a lista dos produtos com respectivos preços e pesos. Com a Plan1 selecionada clique no menu Formatar -> Planilha -> Ocultar (ocultando a plan1)
(Excel 2007: Plan1 ( Início ( Formatar (Ocultar e Reexibir ( Ocultar Planilha)
Passo 2 – Construir na Plan2 a planilha do pedido conforme a figura abaixo.
Passo 3 – Inclusão das caixas de combinação na planilha.
• Com o comando Exibir/Barras de Ferramentas, deixe visível a barra Caixa de Ferramentas de Controle e trace, na coluna Produto, uma caixa de combinação (combo box).
(Excel2007: Desenvolvedor ( Inserir ( Controles ActiveX ( Caixa de Combinação)
• Clique com o botão direito do mouse na caixa de combinação (o nome-padrão dela será ComboBox1) e escolha, no menu, a opção Propriedades.
• Na janela Propriedades, ajuste alinha ListFillRange para a faixa de células de Plan1 que contém a lista de opções que vão aparecer na caixa. A indicação é feita no seguinte formato: Plan1!A2:A12
Passo 4 – Para fechar a estrutura da planilha, crie, na coluna Total, um totalizador parcial, que conterá o somatório dos valores dos produtos. Na próxima linha, deixe um espaço para o valor do frete – a ser calculado – e, por fim, vem o total geral, que corresponde à soma dos produtos mais o valor do frete.
Observação: Este botão, [pic] na Caixa de Ferramentas de Controle, alterna entre o modo de desenvolvimento e o modo de ação da planilha.
(Excel2007: Desenvolvedor ( Modo de Design)
Passo 5 – Crie dois botões (caixa de ferramentas de controle).
(Excel2007: Desenvolvedor ( Inserir ( Controles ActiveX ( Botão de Comando)
[pic] [pic]
Passo 6 – Clique duas vezes sobre o primeiro ComboBox1.
(Não deixe de acionar o botão) => [pic]
• Clique duas vezes para cada ComboBox e para os dois botões. Teremos as seguintes Privates:
• Mude todas as Private Sub ComboBox_Change( ) para Private Sub ComboBox_Click ( ).
• Digite os comandos do VB (VBA) para a Private, conforme relação abaixo:
Private Sub ComboGeral_Click(index As Integer, nCombo As Integer)
Dim sngPreco As Single ‘Single é o tipo de variável para números reais
Dim intPeso As Integer
Dim i As Integer ' i = linha dos títulos (Produto, Preço Unitário etc.)
i = 9
If index >= 0 Then
sngPreco = Worksheets("Plan1").Cells(index + 2, 2).Value
intPeso = Worksheets("Plan1").Cells(index + 2, 3).Value
ActiveSheet.Cells(nCombo + i, 3) = sngPreco
ActiveSheet.Cells(nCombo + i, 4) = intPeso
If index = 0 Then ActiveSheet.Cells(nCombo + i, 5) = 0
End If
End Sub
• Clique sobre cada ComboBox e digite as respectivas linhas de programação.
Private Sub ComboBox1_Click()
Dim index As Integer
index = ComboBox1.ListIndex ' opção escolhida
ComboGeral_Click index, 1 ' número da ComboBox
End Sub
Private Sub ComboBox2_Click()
Dim index As Integer
index = ComboBox2.ListIndex
ComboGeral_Click index, 2
End Sub
Private Sub ComboBox3_Click()
Dim index As Integer
index = ComboBox3.ListIndex
ComboGeral_Click index, 3
End Sub
Private Sub ComboBox4_Click()
Dim index As Integer
index = ComboBox4.ListIndex
ComboGeral_Click index, 4
End Sub
Private Sub ComboBox5_Click()
Dim index As Integer
index = ComboBox5.ListIndex
ComboGeral_Click index, 5
End Sub
• Clique sobre cada botão e digite as respectivas linhas de programação.
Private Sub CommandButton1_Click()
Dim n As Integer
' Limpa o combo box
ComboBox1.ListIndex = 0
ComboBox2.ListIndex = 0
ComboBox3.ListIndex = 0
ComboBox4.ListIndex = 0
ComboBox5.ListIndex = 0
' Zera as colunas de peso e quantidade
For n = 3 To 7
ActiveSheet.Cells(n, 4).Value = 0
ActiveSheet.Cells(n, 5).Value = 0
Next n
End Sub
Private Sub CommandButton2_Click()
Dim n As Integer
For n = 3 To 7
ActiveSheet.Cells(n, 3) = 0
Next n
End Sub
Conteúdo da célula D16 =D10*E10+D11*E11+D12*E12+D13*E13+D14*E14
Conteúdo da célula F16 =Frete(D16)
-----------------------
[pic]
[pic]
[pic]
[pic]
[pic]
[pic]
• Copie o objeto e cole-o na célula imediatamente abaixo.
• Repita essa colagem conforme o número de linhas operacionais que pretenda incluir no pedido.
• Todas as caixas de combinação contêm a mesma lista de produtos.
[pic]
[pic]
Passo 7 – Acrescente o Módulo 1 => Inserir -> Módulo.
Passo 8 – Click duas vezes sobre o Módulo1. Digite o seguinte programa:
Option Explicit
Function Frete(peso As Long) As Long
On Error GoTo Frete_Err
Dim resultado As Long
Select Case peso
Case Is < 200
resultado = 0
Case 200 To 999
resultado = 5
Case 1000 To 5000
resultado = 10
Case Is > 5000
resultado = 30
End Select
Frete = resultado
Frete_Fim:
Exit Function
Frete_Err:
Resume Frete_Fim:
End Function
-------------------------------------------------------------------
(Macro FRETE)
................
................
In order to avoid copyright disputes, this page is only a partial summary.
To fulfill the demand for quickly locating and searching documents.
It is intelligent file search solution for home and business.
Related searches
- i e holy spirit i e 577029006
- i e holy spirit i e 577 02 9006
- i e holy spirit i e yah shua 577 02 9006
- i e yah shua 5 7 7 0 2 9 0 0 6 holy spirit 577029006 i e yah shua 577 02 9006
- i e yah shua 5 7 7 0 2 9 0 0 6 holy spirit 577 029006 i e yah shua 577 02 9006
- i e yah shua 5 7 7 0 2 9 0 0 6 holy spirit i e yah shua 577 02 9006
- i e yah shua 5 7 7 0 2 9 0 0 6 holy spirit i e yah shua
- i e 577 02 9006 yah shua holy spirit i e yah shua
- i e 577 02 9006 yah shua holy spirit i e yah shua 577 02 9006
- i e 577 02 9006 yah shua 577 02 9006 holy spirit i i e yah shu
- i e yah shua 577029006 i e yah
- i e yah shua 577029006 i e holy spirit 577 02 9006