Notifications
Clear all

Inserir Linha Planilhas VBA

6 Posts
4 Usuários
0 Reactions
1,337 Visualizações
(@refernande)
Posts: 0
New Member
Topic starter
 

Boa Tarde

Precisando Inserir linha em 1500 Planilhas "Abas" de uma só vez via Macro.

Gostaria que a macro me desse a opção de escolher quantas linha desejo adicionar.

Selecionar Linha 31, rodar a macro e colocar quantidade de linha desejadas e a macro executasse essa inserção de linhas nas 1500 planilhas.

 
Postado : 20/02/2018 11:30 am
(@wagner-morel-vidal-nobre)
Posts: 4063
Famed Member
 

refernande,

Boa tarde!

Veja se é assim.

 
Postado : 20/02/2018 2:17 pm
(@xlarruda)
Posts: 0
New Member
 

Wagner, se me permite complementar sua ideia, acho que poderia inserir a "Inputbox" antes do For.. tipo:

Sub InserirLinha()
    Dim Qtde As Long
    Dim i As Long
    Dim j As Long
    Qtde = CLng(InputBox("Quantidade de Linhas", "LINHA A INSERIR"))
    For j = 1 To Sheets.Count
        Sheets(j).Select
            If Qtde <> 0 Then
            Rows("7:7").Select
            For i = 1 To Qtde
                Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
            Next
        End If
    Next
End Sub

Caso contrário ele teria que inserir a quantidade de linhas na inputbox 1500 vezes (ficaria inviável)

Abrç!

 
Postado : 20/02/2018 2:41 pm
(@wagner-morel-vidal-nobre)
Posts: 4063
Famed Member
 

xlarruda,

Boa noite!

Excelente sugestão! Obrigado. Na verdade, fiz esse código meio às pressas e nem percebi isso. Sua ideia está corretíssima, exceto se o usuário quiser inserir quantidade de linhas diferentes por planilha. Todavia, nesse caso, creio que perderia o sentido da automatização.

 
Postado : 20/02/2018 5:00 pm
(@refernande)
Posts: 0
New Member
Topic starter
 

Wagner, se me permite complementar sua ideia, acho que poderia inserir a "Inputbox" antes do For.. tipo:

Sub InserirLinha()
    Dim Qtde As Long
    Dim i As Long
    Dim j As Long
    Qtde = CLng(InputBox("Quantidade de Linhas", "LINHA A INSERIR"))
    For j = 1 To Sheets.Count
        Sheets(j).Select
            If Qtde <> 0 Then
            Rows("7:7").Select
            For i = 1 To Qtde
                Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
            Next
        End If
    Next
End Sub

Caso contrário ele teria que inserir a quantidade de linhas na inputbox 1500 vezes (ficaria inviável)

Abrç!

Muito bom mesmo xlarruda e wagner

Mais só uma coisa para finalizar se teria como em uma planilha essa macro não executar "Plan1". Que essa macro rodar na outras planilhas exceto plan1.

Obrigado

 
Postado : 20/02/2018 5:07 pm
(@klarc28)
Posts: 0
New Member
 
Sub InserirLinha()
    Dim Qtde As Long
    Dim i As Long
    Dim j As Long
    Qtde = CLng(InputBox("Quantidade de Linhas", "LINHA A INSERIR"))
    For j = 1 To Sheets.Count
if sheets(j).name <> "Plan1" then
        Sheets(j).Select
            If Qtde <> 0 Then
            Rows("7:7").Select
            For i = 1 To Qtde
                Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
            Next
        End If
end if
    Next
End Sub

 
Postado : 20/02/2018 11:06 pm