profleandro.files.wordpress.com  · web viewpedido vapt-vupt no excel 2003 (adaptado para excel...

5
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).

Upload: vuthu

Post on 01-Jan-2019

223 views

Category:

Documents


0 download

TRANSCRIPT

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, 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)

Passo 6 – Clique duas vezes sobre o primeiro ComboBox1.

(Não deixe de acionar o botão) => Clique duas vezes para cada ComboBox e para os dois botões. Teremos as seguintes Privates:

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.

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 IfEnd 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 ComboBoxEnd Sub

Private Sub ComboBox2_Click() Dim index As Integer index = ComboBox2.ListIndex ComboGeral_Click index, 2End Sub

Private Sub ComboBox3_Click() Dim index As Integer index = ComboBox3.ListIndex ComboGeral_Click index, 3End Sub

Private Sub ComboBox4_Click() Dim index As Integer

index = ComboBox4.ListIndex ComboGeral_Click index, 4End Sub

Private Sub ComboBox5_Click() Dim index As Integer index = ComboBox5.ListIndex ComboGeral_Click index, 5End 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 nEnd Sub

Private Sub CommandButton2_Click() Dim n As Integer For n = 3 To 7 ActiveSheet.Cells(n, 3) = 0 Next nEnd Sub

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 LongOn 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 FunctionFrete_Err: Resume Frete_Fim:End Function-------------------------------------------------------------------(Macro FRETE)

Conteúdo da célula D16 =D10*E10+D11*E11+D12*E12+D13*E13+D14*E14Conteúdo da célula F16 =Frete(D16)