Notifications
Clear all

Inserir Linhas

13 Posts
3 Usuários
0 Reactions
2,155 Visualizações
(@vonzuben)
Posts: 549
Prominent Member
Topic starter
 

Consegui fazer até aqui, pois até está inserindo

Mas não estou conseguiu fazer o seguinte

Ao clicar no botão cria uma linha na row 13

ao clicar de novo gostaria de criar outra acima jogando a 13 para 14 e assim vai ( ascendente )

13 - linha criada ( segunda linha criada na row 13 )
14 - linha criada ( primeira linha criada na row 13 )

Sub Inserirlinha()

Dim nextrow As Integer
Dim shtFinanceiros As Worksheet

Worksheets("Financeiros").Range("A2:T2").Copy
Range("A13:T13").PasteSpecial

End Sub

Obrigado desde já !

 
Postado : 25/01/2016 8:50 pm
(@alvaro)
Posts: 0
New Member
 

Boa noite Vonzuben

Teste assim:

Sub Inserirlinha()

Dim nextrow As Integer
Dim shtFinanceiros As Worksheet

Worksheets("Financeiros").Range("A2:T2").Copy
    Rows("13:13").Select
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Range("A13:T13").PasteSpecial
    Application.CutCopyMode = False

End Sub

Se ficou como vc queria, não esqueça de marcar como RESOLVIDO.

Abraços

 
Postado : 25/01/2016 9:04 pm
(@vonzuben)
Posts: 549
Prominent Member
Topic starter
 

Essa operação não é permitida. A operação está tentando deslocar células em uma tabela da planilha.

 
Postado : 25/01/2016 9:24 pm
(@alvaro)
Posts: 0
New Member
 

Seu office é 2010?
Qual a extensão da sua planilha? XLS? XLSX? XLSM?
Qual a ultima linha da sua planilha?

 
Postado : 25/01/2016 9:31 pm
(@vonzuben)
Posts: 549
Prominent Member
Topic starter
 

2007
XLS

 
Postado : 25/01/2016 9:47 pm
(@alvaro)
Posts: 0
New Member
 

Vonzuben, você consegue compartilhar a planilha conosco?
Fica mais facil ajudar.

 
Postado : 25/01/2016 10:19 pm
(@vonzuben)
Posts: 549
Prominent Member
Topic starter
 

Consegui fazer na última linha, mas preciso que seja na 13

Sub Inserirlinha()

Dim nextrow As Integer
Dim shtFinanceiros As Worksheet

nextrow = ActiveSheet.Cells.SpecialCells(xlLastCell).Row + 1

Worksheets("Financeiros").Range("A2:T2").Copy
ActiveSheet.Cells(nextrow, 1).Select
ActiveSheet.Paste

Selection.EntireRow.Hidden = False

End Sub

 
Postado : 25/01/2016 10:24 pm
(@vonzuben)
Posts: 549
Prominent Member
Topic starter
 

https://www.dropbox.com/s/2q8btr85r3gih ... .xlsx?dl=0

 
Postado : 26/01/2016 10:11 am
(@srobles)
Posts: 0
New Member
 

vonzuben,

Experimente o código abaixo:

Sub addLinha()
    With ThisWorkbook.Sheets("Financeiros")
        .Activate
        Rows(13).Select
        Selection.Copy
        Selection.Insert 1
        Cells(13, "A").Select
        Selection.PasteSpecial
        Application.CutCopyMode = False
        Cells(13, "B").Select
    End With
End Sub

Abs

 
Postado : 26/01/2016 11:02 am
(@srobles)
Posts: 0
New Member
 

vonzuben,

Após a linha Selection.PasteSpecial adicione Selection.ClearContents para limpar a nova linha.

Abs

 
Postado : 26/01/2016 11:10 am
(@vonzuben)
Posts: 549
Prominent Member
Topic starter
 

Vou ter que colocar também o .Range("A2:T2").Copy, pois ele copia essa linha com format e joga na 13
Seria isso ?

 
Postado : 26/01/2016 3:07 pm
(@vonzuben)
Posts: 549
Prominent Member
Topic starter
 

Resolvi de um outro jeito !

 
Postado : 26/01/2016 9:34 pm
(@srobles)
Posts: 0
New Member
 

vonzuben,

Que bom que resolveu!.

Se possível, poste a solução do problema. Assim todos que tiverem dúvidas semelhantes, terão acesso a uma solução.

Abs

 
Postado : 26/01/2016 10:17 pm