Notifications
Clear all

Alterar ordem de inserção

4 Posts
4 Usuários
0 Reactions
1,016 Visualizações
(@paulitotavares)
Posts: 36
Eminent Member
Topic starter
 

Bom dia

Preciso de ajuda para inverter a ordem de inserção de dados. O que pretendo é que os dados vão sendo inseridos sempre na linha 8 e os outros vão descendo na folha.

Sub lsInserirUtilizadorRNSI() 'Grava os dados da linha 7

    Dim iTotalLinhas As Integer
    Dim lUltima As Long
    
    iTotalLinhas = Sheets("GNR").Cells(Rows.Count, 3).End(xlUp).Row + 1
        
        ActiveSheet.Protect DrawingObjects:=True, Contents:=False, Scenarios:=False 
        
    With Worksheets("GNR")
    
        Sheets("GNR").Cells(iTotalLinhas, 3).Value = Planilha3.range("c7")
        Sheets("GNR").Cells(iTotalLinhas, 4).Value = Planilha3.range("d7")
        Sheets("GNR").Cells(iTotalLinhas, 5).Value = Planilha3.range("e7")
        Sheets("GNR").Cells(iTotalLinhas, 6).Value = Planilha3.range("f7")
        Sheets("GNR").Cells(iTotalLinhas, 7).Value = Planilha3.range("g7")
        Sheets("GNR").Cells(iTotalLinhas, 8).Value = Planilha3.range("h7")
        Sheets("GNR").Cells(iTotalLinhas, 9).Value = Planilha3.range("i7")
        Sheets("GNR").Cells(iTotalLinhas, 10).Value = Planilha3.range("j7")
        Sheets("GNR").Cells(iTotalLinhas, 11).Value = Planilha3.range("k7")
        Sheets("GNR").Cells(iTotalLinhas, 12).Value = Planilha3.range("l7")
        Sheets("GNR").Cells(iTotalLinhas, 13).Value = Planilha3.range("m7")
      
        ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True

    End With

           
End Sub
 
Postado : 27/04/2018 4:11 am
(@klarc28)
Posts: 971
Prominent Member
 
Sub lsInserirUtilizadorRNSI() 'Grava os dados da linha 7

Dim iTotalLinhas As Integer
Dim lUltima As Long
DIM I AS INTEGER
With Worksheets("GNR")
 .Rows("8:8").Select
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove

iTotalLinhas = 8 'Sheets("GNR").Cells(Rows.Count, 3).End(xlUp).Row + 1

ActiveSheet.Protect DrawingObjects:=True, Contents:=False, Scenarios:=False 
FOR I = 3 TO 13
.Cells(iTotalLinhas, I).Value = Planilha3.CELLS(7,I)

NEXT I
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True

End With


End Sub

 
Postado : 27/04/2018 4:49 am
EdsonBR
(@edsonbr)
Posts: 1057
Noble Member
 

Bom dia, Paulito

Se for como mostrado em seu código - intervalos fixos - dá pra tornar mais enxuto:

Sub lsInserirUtilizadorRNSI()
  ActiveSheet.Protect DrawingObjects:=True, Contents:=False, Scenarios:=False
     Worksheets("GNR").Rows(8).EntireRow.Insert xlDown
     Worksheets("GNR").Range("C8:M8").Value = Planilha3.Range("C7:M7").Value
  ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End Sub

 
Postado : 27/04/2018 6:19 am
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
 

paulitotavares,

Bom dia!

Pedimos, por gentileza, ao postar códigos VBA aqui no fórum, utilizar a ferramenta CODE existente logo no início da caixa de mensagens (quinto botão da esquerda para a direita).

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

 
Postado : 27/04/2018 6:23 am