Jump to content
Fórum Script Brasil
  • 0

Executar macro somente numa planilha...


Cau

Question

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 to comment
Share on other sites

6 answers to this question

Recommended Posts

  • 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 to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...