El equivalente de indirecto en una macro

Quisiera me ilustraran sobre este tema.

Necesito ir a una casilla para copiar. Esto lo hago con una macro. La dificultad la tengo en definir el siguiente código

Range("P23").Select

La dirección P23, consta de una parte fija "P" y 23, que es el valor de la casilla O31.

Ademas la casilla O31 es de la hoja formulario, y la casilla destino P23 pertenece a la hoja datos.

Este seria mi código a falta de solucionar mi duda

Sub Macro1()
'
' Macro1 Macro
'
'
Range("A20:O20").Select
Selection.Copy
Sheets("Datos").Select
Range("P23").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End Sub


Muchas gracias por su ayuda.


1 respuesta

Respuesta
1

fila = Sheets("formulario").Range("O31").value

Range("P" & fila).Select


PD) En la sección Macros tenés otros ejemplos de selección de rangos.

Sdos

Elsa

http://aplicaexcel.galeon.com/guias.htm


hola. lo primero muchas gracias.

he modificado mi código de la siguiente manera. pero me da un error 1004 en tiempo de ejecución: error en el método range de objeto _ global

Sub Macro1()
'
' Macro1 Macro
'
'
Range("A1:O1").Select
Selection.Copy
Sheets("Datos").Select
fila = Sheets("Formulario entrada de datos").Range("O31").Value
Range("P" & fila).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End Sub

La macro corre bien, fijate que la variable fila tenga un valor apto para fila justamente.

Podès agrega luego de la línea fila = ... esta para verificar :

Msgbox fila

Sdos y comentame.

Elsa

Muchísimas gracias. Va perfecto.

no te imaginas lo que supone tu ayuda para un aficionado como yo.

muchísimas gracias Elsa.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas