Ora vivam caros leitores. Mais um Domingo e mais uma artigo da rubrica “Dicas do Microsoft Excel é ao Domingo….no Pplware”. Lembramos que esta é uma rubrica “aberta” a todos os leitores que pretendam contribuir. Para tal devem enviar-nos um e-mail com a dica que pretendem ver publicada. Caso tenham também alguma dúvida ou problema a resolver no Excel, deixem essa informação nos comentários para que a comunidade Pplware ajude a resolver.
Depois de termos ensinado no tutorial 49 como criar formulários, o nosso leitor Luís Candido partilho gentilmente um projecto com toda a comunidade do Pplware. O projecto desenvolvido tem disponível todo o código fonte e serve para fazer gestão de obras (podendo ser adaptado por vocês para outras finalidades)
O projecto inclui alguns formulários dos quais se destacam o Inserir Obra
…e também o formulário para edição/visualização e eliminação de um registo de uma obra.
Código usado para os formulários
/* INSERIR */
Private Sub btninserir_Click()
If Me.cmbmeses.Value = "" Then
MsgBox "Seleccione um mês válido.", vbInformation
End If
'------------------------- JAN -------------------------
If Me.cmbmeses.Value = "Janeiro" Then
If (Me.txtcliente = "" Or Me.cmbarea.Value = "" Or Me.txtvalor = "") Then
MsgBox "Preencha todos os campos - Dados da obra", vbInformation
Else
For linha = 3 To 17
If (Folha1.Cells(linha, "B") = "") Then
Folha1.Cells(linha, "B") = Me.txtcliente
Folha1.Cells(linha, "C") = Me.txtangariada.Text
Folha1.Cells(linha, "D") = Me.cmbarea.Text
Folha1.Cells(linha, "E") = Me.txtvalor.Value
Folha1.Cells(linha, "J") = Me.txtp1v.Value
Folha1.Cells(linha, "K") = Me.txtp1a.Value
Folha1.Cells(linha, "L") = Me.txtp1d.Text
Folha1.Cells(linha, "R") = Me.txtp2v.Value
Folha1.Cells(linha, "S") = Me.txtp2a.Value
Folha1.Cells(linha, "T") = Me.txtp2d.Text
Folha1.Cells(linha, "AA") = Me.txtq1.Value
Folha1.Cells(linha, "AB") = Me.txtd1.Text
Folha1.Cells(linha, "AC") = Me.txtq2.Value
Folha1.Cells(linha, "AD") = Me.txtd2.Text
Folha1.Cells(linha, "AE") = Me.txtq3.Value
Folha1.Cells(linha, "AF") = Me.txtd3.Text
Folha1.Cells(linha, "AG") = Me.txtq4.Value
Folha1.Cells(linha, "AH") = Me.txtd4.Text
Folha1.Cells(linha, "AI") = Me.txtq5.Value
Folha1.Cells(linha, "AJ") = Me.txtd5.Text
Folha1.Cells(linha, "AK") = Me.txtq6.Value
Folha1.Cells(linha, "AL") = Me.txtd6.Text
Folha1.Cells(21, "E") = Me.txtkms.Value
MsgBox "Obra inserida com sucesso", vbInformation
Me.Hide
Exit For
ElseIf (linha = 17) Then
MsgBox "Não há espaço para inserir mais obras no mês de Janeiro!", vbCritical
Me.Hide
Exit For
End If
Next linha
End If
End If
/* VER */
Private Sub btnver_Click()
If Me.cmbmes.Value = "Janeiro" Then
For linha = 3 To 17
If cmbobra.Value = Folha1.Cells(linha, "B") Then
Me.txtcliente = Folha1.Cells(linha, "B")
Me.txtangariada = Folha1.Cells(linha, "C")
Me.cmbarea.Text = Folha1.Cells(linha, "D")
Me.txtvalor.Value = Folha1.Cells(linha, "E").Value
Me.txtkms = Folha1.Cells(21, "E")
Me.txtp1v.Value = Folha1.Cells(linha, "J")
Me.txtp1a.Value = Folha1.Cells(linha, "K")
Me.txtp1d.Text = Folha1.Cells(linha, "L")
Me.txtp2v.Value = Folha1.Cells(linha, "R")
Me.txtp2a.Value = Folha1.Cells(linha, "S")
Me.txtp2d.Text = Folha1.Cells(linha, "T")
Me.txtq1.Value = Folha1.Cells(linha, "AA")
Me.txtd1.Text = Folha1.Cells(linha, "AB")
Me.txtq2.Value = Folha1.Cells(linha, "AC")
Me.txtd2.Text = Folha1.Cells(linha, "AD")
Me.txtq3.Value = Folha1.Cells(linha, "AE")
Me.txtd3.Text = Folha1.Cells(linha, "AF")
Me.txtq4.Value = Folha1.Cells(linha, "AG")
Me.txtd4.Text = Folha1.Cells(linha, "AH")
Me.txtq5.Value = Folha1.Cells(linha, "AI")
Me.txtd5.Text = Folha1.Cells(linha, "AJ")
Me.txtq6.Value = Folha1.Cells(linha, "AK")
Me.txtd6.Text = Folha1.Cells(linha, "AL")
End If
Next linha
End If
/* EDITAR */
Private Sub btneditar_Click()
Dim Answer As String
Dim MyNote As String
'Place your text here
MyNote = "Está prestes a editar uma obra. Continuar?"
'Display MessageBox
Answer = MsgBox(MyNote, vbQuestion + vbYesNo, "Editar obra")
If Answer = vbNo Then
'Code for No button Press
MsgBox "Operação cancelada."
Else
If Me.cmbmes.Value = "Janeiro" Then
For linha = 3 To 17
If cmbobra.Value = Folha1.Cells(linha, "B") Then
Folha1.Cells(linha, "B") = Me.txtcliente
Folha1.Cells(linha, "C") = Me.txtangariada.Text
Folha1.Cells(linha, "D") = Me.cmbarea.Text
Folha1.Cells(linha, "E") = Me.txtvalor.Value
Folha1.Cells(linha, "J") = Me.txtp1v.Value
Folha1.Cells(linha, "K") = Me.txtp1a.Value
Folha1.Cells(linha, "L") = Me.txtp1d.Text
Folha1.Cells(linha, "R") = Me.txtp2v.Value
Folha1.Cells(linha, "S") = Me.txtp2a.Value
Folha1.Cells(linha, "T") = Me.txtp2d.Text
Folha1.Cells(linha, "AA") = Me.txtq1.Value
Folha1.Cells(linha, "AB") = Me.txtd1.Text
Folha1.Cells(linha, "AC") = Me.txtq2.Value
Folha1.Cells(linha, "AD") = Me.txtd2.Text
Folha1.Cells(linha, "AE") = Me.txtq3.Value
Folha1.Cells(linha, "AF") = Me.txtd3.Text
Folha1.Cells(linha, "AG") = Me.txtq4.Value
Folha1.Cells(linha, "AH") = Me.txtd4.Text
Folha1.Cells(linha, "AI") = Me.txtq5.Value
Folha1.Cells(linha, "AJ") = Me.txtd5.Text
Folha1.Cells(linha, "AK") = Me.txtq6.Value
Folha1.Cells(linha, "AL") = Me.txtd6.Text
End If
Next linha
End If
/* APAGAR */
Private Sub btnapagar_Click()
Dim Answer As String
Dim MyNote As String
'Place your text here
MyNote = "Está prestes a apagar uma obra. Continuar?"
'Display MessageBox
Answer = MsgBox(MyNote, vbQuestion + vbYesNo, "Apagar obra")
If Answer = vbNo Then
'Code for No button Press
MsgBox "Operação cancelada."
Else
If Me.cmbmes.Value = "Janeiro" Then
For linha = 3 To 17
If cmbobra.Value = Folha1.Cells(linha, "B") Then
Folha1.Cells(linha, "B") = ""
Folha1.Cells(linha, "C") = ""
Folha1.Cells(linha, "D") = ""
Folha1.Cells(linha, "E") = ""
Folha1.Cells(linha, "J") = ""
Folha1.Cells(linha, "K") = ""
Folha1.Cells(linha, "L") = ""
Folha1.Cells(linha, "R") = ""
Folha1.Cells(linha, "S") = ""
Folha1.Cells(linha, "T") = ""
Folha1.Cells(linha, "AA") = ""
Folha1.Cells(linha, "AB") = ""
Folha1.Cells(linha, "AC") = ""
Folha1.Cells(linha, "AD") = ""
Folha1.Cells(linha, "AE") = ""
Folha1.Cells(linha, "AF") = ""
Folha1.Cells(linha, "AG") = ""
Folha1.Cells(linha, "AH") = ""
Folha1.Cells(linha, "AI") = ""
Folha1.Cells(linha, "AJ") = ""
Folha1.Cells(linha, "AK") = ""
Folha1.Cells(linha, "AL") = ""
End If
Next linha
End If
Por hoje é tudo! Esperamos que as dicas sejam úteis e que vos ajudem a dominar o Microsoft Excel. Como referi anteriormente, esta dica está aberta a todos os que pretendam contribuir. Enviem-nos as vossas dicas para ppinto @ pplware .com para publicarmos em próximos artigos.
Mais uma vez o nosso agradecimento ao leitor Luís Candido pela disponibilização do seu projecto. Download do projecto completo aqui
Outros artigos sobre Excel
-
- Operações básica: SOMA, MÉDIA, MÁXIMO, MINIMO
- Actualização da formula de acordo com a linha e coluna
- Referências fixas
- Utilização de formulas e valores em várias folhas
- Destacar facilmente valores em Excel
- Dividir uma String (frase) em partes
- Função VLOOKUP (PROCV em Português)
- Converter formulas em números
- Criar listas de números aleatórios
- Funções lógicas do Excel: SE(), E(), OU()
- Adicionar totais a um gráfico de colunas empilhadas
- Formatar comentários
- Funções Financeiras (Funções PGTO() e TAXA())
- função DIA.DA.SEMANA e a função TEXTO
- Esconder informação na hora de imprimir
- Listas Personalizadas
- Preencher células em branco
- Mover, copiar ou colar os dados na sua folha de Excel
- Criar modelos de gráficos personalizados
- Adicionar dados a um gráfico
- Funcionalidades “escondidas” do Excel
- Definir Nomes para as células
- Função SOMARPRODUTO()
- Soma Automática
- Como lidar com datas num gráfico
- Função ORDEM
- Fixar os dados de um gráfico
- Proteger uma folha de Excel
- Validação de dados…Combobox com dados
- Concatenação e funcionalidade Localizar e Substituir
- Ordenação de valores
- Como criar uma Macro
- Função Compactar
- Definir a área de impressão dinamicamente
- Percentagem variável
- MAIÚSCULAS, MINÚSCULAS ou INICIAL.MAIÚSCULA e Função Potência
- Tabelas dinâmicas
- Trabalho colaborativo
- Activar e utilizar um suplemento
- Gráficos sparkline
- Personalizar Gráficos sparkline para mostrar tendências de dados
- Definir e utilizar nomes em fórmulas
- Função BDContar
- Função Não
- Fórmulas de Matriz – Array Formulas (Parte I)
- Formulas de Matriz – Array Formulas (Parte II)
- Modo Programador
- Criar formulários rapidinho
- Formulários em Excel
- Novidades do Excel 2013
- Calendários no Excel
- Funcionalidades PowerPivot