Ir para conteúdo
Fórum Script Brasil
  • 0

Executar macro somente numa planilha...


Cau

Pergunta

Olá pessoal,

Como faço para executar esta macro somente numa planilha? Resumindo, nesta planilha preciso copiar os valores das celulas da linha A1, cola-las na linha abaixo, inserir uma nova linha e por ultimo deletar a linha 31, sem interferir nas outras planilhas. Abaixo está o exemplo e a macro que faz isso. Tens alguma outra forma de fazer isso? Obrigado!

A B C D E

1 12 32 26 28 20

2 12 32 26 28 20

3 05 08 07 56 65

4 37 74 54 65 43

5 21 35 43 78 54

6

7

8

.

.

.

30 23 34 46 48 69

31 46 58 58 94 53

Sub GRAVA()

'

' GRAVA Macro

' Macro gravada em 18/2/2012 por cau

'

'

Rows("9:9").Select

Selection.Copy

Rows("20:20").Select

Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _

:=True, Transpose:=False

Application.CutCopyMode = False

Selection.Insert Shift:=xlDown

Rows("31:31").Select

Selection.Delete Shift:=xlUp

Range("B9").Select

End Sub

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0
Sub Fazer()

With ThisWorkbook.Sheets("Plan1") '<- mude o nome para a Planilha desejada

.Rows(1).Copy

.Rows(2).Insert Shift:=xlDown

.Rows("31:31").Delete

End With

End Sub

Bah amigão quase isso, só está faltando colar os valores e ela está colando as formulas ;0)

Eu não estou conseguindo inserir isso:

Paste:=xlPasteValues

Como faz?

No aguardo, obrigadão!

Link para o comentário
Compartilhar em outros sites

  • 0
Sub Fazer()

With ThisWorkbook.Sheets("Plan1") '<- mude o nome para a Planilha desejada

.Rows(2).Insert Shift:=xlDown

.Rows(1).Copy

.Rows(2).PasteSpecial xlPasteValues

.Rows("31:31").Delete

End With

End Sub

Bah show! Funcionou. Obrigado

Só uma dúvida, toda vez que eu executo-a a planilha pisca. Isso é normal?

Abração!

Link para o comentário
Compartilhar em outros sites

  • 0

Sim, é normal.

No entanto, tente usar:

Sub Fazer()

Application.ScreenUpdating = False

With ThisWorkbook.Sheets("Plan1") '<- mude o nome para a Planilha desejada

.Rows(2).Insert Shift:=xlDown

.Rows(1).Copy

.Rows(2).PasteSpecial xlPasteValues

.Rows("31:31").Delete

End With

Application.ScreenUpdating = True

End Sub

O efeito de piscar será mais suave.

Link para o comentário
Compartilhar em outros sites

  • 0
Sim, é normal.

No entanto, tente usar:

Sub Fazer()

Application.ScreenUpdating = False

With ThisWorkbook.Sheets("Plan1") '<- mude o nome para a Planilha desejada

.Rows(2).Insert Shift:=xlDown

.Rows(1).Copy

.Rows(2).PasteSpecial xlPasteValues

.Rows("31:31").Delete

End With

Application.ScreenUpdating = True

End Sub

O efeito de piscar será mais suave.

Valeu! Obrigadão amigão!

RESOLVIDO!

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...