Notifications
Clear all

Botão que inseri linha

7 Posts
2 Usuários
0 Reactions
2,535 Visualizações
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Amigos boa noite tive uma ideia e não sei se é possível.

Tenho uma linha
.....A | B | C | D | E | F
1....1...+...5...+...3...Botão que insere uma nova linha com todas as características

Não sei se muito claro na simulação acima da tabela

Gostaria de ter mais dinamismo na minha tabela

Fico no aguardo

Obtrigado

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 22/04/2012 9:18 pm
(@felipesalomao)
Posts: 103
Estimable Member
 

Posta sua planilha ai. Abs

 
Postado : 22/04/2012 11:40 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Bom ida!!
Cybre, não entendi o que quer, deveria explicar melhor, e também postar um exemplo COMPACTADO!

Se tratando de inserir linha (não deve ter nada a ver com seu caso).
Fonte: http://www.vbaexpress.com/kb/getarticle.php?kb_id=312
Autor:Anne Troy

Sub Insert_Blank_Rows() 
     
     'Select last row in worksheet.
    Selection.End(xlDown).Select 
     
    Do Until ActiveCell.Row = 1 
         'Insert blank row.
        ActiveCell.EntireRow.Insert shift:=xlDown 
         'Move up one row.
        ActiveCell.Offset(-1, 0).Select 
    Loop 
     
End Sub 

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 23/04/2012 5:11 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Planilha em anexo, gostaria muito de aprender a fazer essa interação com os botões - (deletar linha) e + (adicionar linha)

Percebam que na Aba Chapa Utilizada uso o código da Aba Chapa Compra.

quem tiver mais conhecimento faça o código com comentários dizendo o que cada linha faz no código VBA

Fico no aguardo

Obrigado

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 23/04/2012 7:47 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

No seu exemplo, apesar dos "botões" "-" e "+", não há nenhum codigo.
Então qual o critério para inclusão (ou exclusão de linha). No exemplo "Chapa utilizada" tem 2 linhas com dados e formatação uma linha em branco, uma linha com dados e formatação, uma linha em branco e duas linhas com formatação. Vai seguir assim, ou o que??

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 23/04/2012 9:02 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Acho que compliquei colocando botões a cada linha

Quero somente 01 UM botão para incluir linha com as devidas formulas inclusas na linha. sempre abaixo

Delete os botões + e - e coloque um outro inserir linha, sempre abaixo da ultima.

É somente isso

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 23/04/2012 12:06 pm
(@felipesalomao)
Posts: 103
Estimable Member
 

Olá, eu exclui os botões e fiz de um modo que cria uma linha automaticamente após você escolher a opção aplicação, sera criada uma nova linha zerado todos valores e o numero do código seguira a sequência. Segue planilha em anexo, vê se te atende.

Obs: digite a tecla de atalho F11 e entre em PLAN 1 (Chapa de Compra) para ver o código que fiz.

Segue o código:

Private Sub Worksheet_Change(ByVal Target As Range)
        
        Application.EnableEvents = False
        If Not Intersect(Target, Range("I6:I50000")) Is Nothing Then
                Call Módulo1.novalinha
         
        End If
        
        Application.EnableEvents = True
End Sub

Se detectar mudancas na coluna I, de I6 ate I50000 chamar a macro novalinha.

Essa macro eu fiz gravando uma macro com a opcao usar referencias relativas e adaptei um pouco o codigo ate conseguir adequar para funcionar certinho na sua planilha.

Segue o codigo da Macro:

Sub novalinha()

    ActiveCell.Offset(0, 0).Rows("1:1").EntireRow.Select
    Selection.Copy
    ActiveCell.Offset(1, 0).Rows("1:1").EntireRow.Select
    Selection.Insert Shift:=xlDown
    ActiveCell.Offset(0, 2).Range("A1:G1").Select
    Application.CutCopyMode = False
    Selection.ClearContents
     
    ActiveCell.Offset(0, 0).Range("A1").Select
End Sub

Se foi resolvido o problema, marque o tópico como resolvido. Um abs.

 
Postado : 24/04/2012 11:59 pm