Notifications
Clear all

Inserir Linha Planilhas VBA

6 Posts
4 Usuários
0 Reactions
1,348 Visualizações
(@refernande)
Posts: 35
Eminent 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
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
 

refernande,

Boa tarde!

Veja se é assim.

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 : 20/02/2018 2:17 pm
xlarruda
(@xlarruda)
Posts: 732
Honorable 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ç!

___________________________________________________________________________________________
Se a resposta atendeu sua dúvida, por favor, clique no Gostei e marque o Tópico como [Resolvido].

Att.

André Arruda

 
Postado : 20/02/2018 2:41 pm
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious 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.

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 : 20/02/2018 5:00 pm
(@refernande)
Posts: 35
Eminent 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: 971
Prominent 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