Compartilhar via

Macro para repetir linhas (copiar e colar)

Anônima
2011-06-24T04:47:26+00:00

Olá,

Estou precisando de uma macro que repita 7 vezes abaixo, cada linha da minha planilha. Por exemplo, no caso de 3 colunas de dados...

1 2 3

4 5 6

7 8 9

Ficaria assim:

1 2 3

1 2 3

1 2 3

1 2 3

1 2 3

1 2 3

1 2 3

4 5 6

4 5 6

4 5 6

4 5 6

4 5 6

4 5 6

4 5 6

7 8 9

7 8 9

7 8 9

7 8 9

7 8 9

7 8 9

7 8 9

Será que alguém poderia me ajudar? Estou precisando MUITO, e não tenho conhecimento em linguagem VBA.

Grato desde já.

Abraços!

Microsoft 365 e Office | Excel | Para uso doméstico | Windows

Pergunta bloqueada. Essa pergunta foi migrada da Comunidade de Suporte da Microsoft. É possível votar se é útil, mas não é possível adicionar comentários ou respostas ou seguir a pergunta.

0 comentários Sem comentários
Resposta aceita pelo autor da pergunta
  1. Anônima
    2011-06-24T15:08:17+00:00

    Wesley,

    esta macro resolve o seu problema:

    Sub Repete()    Dim i, j, primeira As Integer    For i = 1 To Range("A65536").End(xlUp).Row        Rows(i).Copy        primeira = Range("A65536").End(xlUp).Offset(1, 0).Row        For j = 1 To 7            Rows(primeira).Select            ActiveSheet.Paste            primeira = primeira + 1        Next j    Next iEnd Sub

    10 pessoas acharam esta resposta útil.
    0 comentários Sem comentários
Resposta aceita pelo autor da pergunta
  1. Anônima
    2011-06-24T18:58:49+00:00

    Oi Wesley,

    Assumindo que:

    Dados nas colunas A, B e C

    começando na linha 1

    Planilha = Plan1

    Qualquer coisa diferente me avise antes de testar/rodar a macro

    Experimente esta macro em uma pasta de teste ( a gente nunca está 100% certo do que pode acontecer, né?)

    Sub insereLinhas()

        Dim wk As Worksheet

        Dim lastRow As Long, i As Long

        Set wk = Sheets("Plan1")

        With wk

            lastRow = .Cells(.Rows.Count, "A").End(xlUp).Row        

            For i = 1 To lastRow * 7 Step 7

                .Rows(i + 1 & ":" & i + 6).Insert Shift:=xlDown

                .Range(.Cells(i, 1), .Cells(i, 3)).Offset(1, 0).Resize(6).Value = _

                    .Range(.Cells(i, 1), Cells(i, 3)).Value

            Next i

        End With

    End Sub

    Espero que ajude

    M.

    2 pessoas acharam esta resposta útil.
    0 comentários Sem comentários

3 respostas adicionais

Classificar por: Mais útil
  1. Anônima
    2011-06-26T05:39:15+00:00

    Oi Wesley,

    Me diz aí onde estão os seus dados - linha inicial e colunas

    M.

    1 pessoa achou esta resposta útil.
    0 comentários Sem comentários
  2. Anônima
    2011-06-25T04:03:58+00:00

    Ajudou MUITO, mcbranco! E executou muito rápido...!!!

    Só preciso saber onde alterar o intervalo de colunas que serão repetidas e o número da linha em que irá iniciar, porque a planilha onde quero aplicar é diferente.

    Vc poderia marcar esses locais no código p/ mim?

    Muito obrigado.

    Abraços!

    0 comentários Sem comentários
  3. Anônima
    2011-06-25T03:55:09+00:00

    Resolveu sim, Carlos...!

    Muito obrigado.

    Abraços!

    0 comentários Sem comentários