Notifications
Clear all

Macro para copiar - colar com uma variável

9 Posts
3 Usuários
0 Reactions
1,750 Visualizações
(@jorgep-tec)
Posts: 37
Eminent Member
Topic starter
 

Boa tarde a todos,

Tenho uma macro simples para copiar e colar:

Sub Macro1()
'
' Macro1 Macro

  Range("A1:C6").Select
    Selection.Copy
    Sheets("Plan2").Select
    Range("A1").Select
    ActiveSheet.Paste
    Sheets("Plan1").Select
    Application.CutCopyMode = False
    Range("A1").Select
End Sub

A variável que quero acrescentar a esse código é nessa parte "Range("A1:C*").Select"

Quero que o número * assuma o valor da célula "D5".

Exemplo:

Se D5=55

Então o código fique:

Sub Macro1()
'
' Macro1 Macro

  Range("A1:C55").Select
    Selection.Copy
    Sheets("Plan2").Select
    Range("A1").Select
    ActiveSheet.Paste
    Sheets("Plan1").Select
    Application.CutCopyMode = False
    Range("A1").Select
End Sub

Alguém pode me orientar?

Desde já, obrigado!

 
Postado : 06/12/2014 11:35 am
Reinaldo
(@rlm)
Posts: 246
Estimable Member
 

Experimente:
Range("A1:C" & Range("D5")).Select

Reinaldo

 
Postado : 06/12/2014 12:32 pm
(@jorgep-tec)
Posts: 37
Eminent Member
Topic starter
 

Tá acusando erro em tempo de execução 1004

Erro de definição de aplicativo ou de definição de objeto.

 
Postado : 06/12/2014 12:59 pm
(@jorgep-tec)
Posts: 37
Eminent Member
Topic starter
 

Segue o arquivo em anexo...

 
Postado : 06/12/2014 1:06 pm
(@edcronos)
Posts: 1006
Noble Member
 

ve se te ajuda

Sub Macro1()

rang = "A1:C" & Range("D5").Value2

Sheets("Plan2").Range(rang).Value = Range(rang).Value

End Sub

Somente é impossíveis até que alguém faça
A logica está presa na irracionalidade humana, e morta nos que se consideram donos da verdade.

"ALGUM MODERADOR ME EXPULSE DO FÓRUM POR FAVOR"

 
Postado : 06/12/2014 1:25 pm
(@jorgep-tec)
Posts: 37
Eminent Member
Topic starter
 

Funcionou como eu precisava.

Muito obrigado!

 
Postado : 06/12/2014 1:28 pm
Reinaldo
(@rlm)
Posts: 246
Estimable Member
 

Para constar, o erro não era pela maneira que passei, mas sim após selecionar a sheet 2.

Seu codigo pode ser utilizado assim:

Sub Macro1()
  Range("A1:C" & Range("D5")).Copy (Sheets("Plan2").Range("A1"))
    Application.CutCopyMode = False
End Sub

Reinaldo

 
Postado : 06/12/2014 2:33 pm
(@jorgep-tec)
Posts: 37
Eminent Member
Topic starter
 

Obrigado RLM pela sua ajuda!

 
Postado : 07/12/2014 5:37 am
(@jorgep-tec)
Posts: 37
Eminent Member
Topic starter
 

Pessoal quero dar uma incrementada no que estou fazendo e agora estou precisando copiar não mais em outra planilha, mas sim em outra pasta de trabalho, a "nova"

Encontrei esse código a seguir que faz o que estou precisando, porém ele é pra copiar as células B1 e B2 da Plan1. Tentei aplicar os códigos acima citados pra tornar o intervalo de seleção uma variável mas não consegui.

Alguém pode ajudar?

Desde já, obrigado.

Private Sub teste()
Dim itemNome As String
Dim itemPreço As String
Dim myData As Workbook

Worksheets("Plan1").Select
itemNome = Range("b1")
Worksheets("Plan1").Select
itemPreço = Range("b2")

Set myData = Workbooks.Open("C:PROGEPtestenova.xlsx")
Worksheets("Plan1").Select
Worksheets("Plan1").Range("a1").Select
RowCount = Worksheets("Plan1").Range("a1").CurrentRegion.Rows.Count
With Worksheets("Plan1").Range("a1")
.Offset(RowCount, 0) = itemNome
.Offset(RowCount, 1) = itemPreço
End With
myData.Save
End Sub
 
Postado : 19/12/2014 12:53 pm