Notifications
Clear all

Inclusão de Linha (VBA)

7 Posts
2 Usuários
0 Reactions
1,170 Visualizações
(@chrispaiva)
Posts: 0
New Member
Topic starter
 

Prezados, boa noite.

Faz a muito tempo que estou longe de linhas de códigos e tenho usado o excel, basicamente com as formulas padrões.
Recentemente apareceu uma demanda e imagino que com alguma pesquisa e ajuda consiga fazer o quero, pois imagino não deva ser algo de extrema complexidade e gostaria das dicas de vocês qual seria a melhore maneira de implementar o código.

Problema:
1. Necessito adicionar linhas em uma tabela onde estão separadas por um determinado grupos, como identificado pelo cabeçalho "SETOR 1, SETOR, 2, ETC".

Dúvidas:
1. Em meu código "muito simples" acabei usando uma coluna com alguns números de controle para poder identificar onde não é possível inserir as linhas, foi a forma mais "burra" que encontrei.
2. Pensei se seria possível ao adicionar o botão "novo item" eu pudesse selecionar o grupo da tabela "SETOR 1, SETOR 2" e então o código adicionaria automaticamente a linha logo abaixo do grupo selecionado.
3. Ao adicionar a linha as fórmulas devem ser copiadas para o correto funcionamento.
4. Poderia até usar um formulário para dar entrada aos dados onde poderia selecionar o grupo, a descrição do produto, e os demais itens de acordo com a validação de dados já usada nas linhas, mas a ideia é que seja simples de usar nesse momento para depois quem sabe fazer algo mais elaborado. O importante é ser funcional.

Se puder contar com à ajuda e opinião do vocês, seria muito válido.

 
Postado : 12/02/2018 6:45 pm
(@klarc28)
Posts: 0
New Member
 

Nas células A19 e A20, está faltando a letra "s" na palavra "exaustor".

 
Postado : 12/02/2018 7:53 pm
(@chrispaiva)
Posts: 0
New Member
Topic starter
 

Olá, obrigado pelo retorno.
Baixei a planilha, mas verifiquei que só adicionou alguns botões sem códigos.
Qual era a ideia ?

Att,

 
Postado : 12/02/2018 8:43 pm
(@klarc28)
Posts: 0
New Member
 

É mais prático formatar como tabela e inserir uma linha de totais:

https://support.office.com/pt-br/article/totalizar-os-dados-em-uma-tabela-do-excel-6944378f-a222-4449-93d8-474386b11f20

 
Postado : 12/02/2018 8:44 pm
(@chrispaiva)
Posts: 0
New Member
Topic starter
 

Você diz criar uma tabela nomeada para cada sessão e então usar controles de tabela para adicionar as linhas ?

Obrigado pela planilha, seu código funcionou como desejava. Só não copiou direito as linhas de bordas e ao terminar o código fica uma célula selecionada.

Para evitar criar muitos botões para cada sessão. Poderia usar um formulário ao clicar um botão chamado "add item" e então carregar uma listbox com o conteúdo das linhas de uma tabela que contem os nomes das sessões, ou então criar um array com os nomes das sessões usando a coluna lateral com algum numero de controle, exemplo, quando encontrar o número 2 na coluna esquerda sabe que é um titulo de sessão e então armazena o texto da coluna direita para usar na lista box.
Ou então adicionar uma forma com o simbolo de (+) ao lado de cada sessão e então chamar o código.

O que acha que fica mais fácil implementar ?

Obrigado pela ajuda.

 
Postado : 12/02/2018 10:51 pm
(@klarc28)
Posts: 0
New Member
 

Se quiser adicionar ou remover setores, altere esta parte:

Private Sub Workbook_Open()
Planilha1.ComboBox1.AddItem ("SETOR 1")
Planilha1.ComboBox1.AddItem ("SETOR 2")
Planilha1.ComboBox1.AddItem ("SETOR 3")

End Sub
 
Postado : 13/02/2018 7:02 am
(@chrispaiva)
Posts: 0
New Member
Topic starter
 

Muito grato em disponibilizar seu tempo em ajudar.

Quando comentou em usar o objeto table, dei uma pesquisada aqui e consegui fazer da seguinte forma.

Veja em anexo.

Poderia melhorar o código passando o parâmetro "nome da tabela", mas acho que assim resolve o que eu preciso.

Mais uma vez obrigado pela ajuda.

 
Postado : 13/02/2018 9:15 am