Asignar a una variable un nombre de rango que es el mismo que el valor de la celda activa

He recibido de mi gestor, un "archivo.dat" de mi contabilidad, que se genera en su programa contable.

Lo he pasado a excel y he generado:

1º.- Una hoja "LISTADO PROVEEDORES" extraída de la hoja principal generada (Ej. SUBC_40000012   SUBC_40000017...etc.)

2º.- En la hoja principal "LIBRO MAYOR", un rango por cada una de las subcuentas, con todos los datos de cada una de ellas, con un nombre igual al que figura en la hoja "LISTADO PROVEEDORES", (Ej. Nombre de rango: SUBC_40000012, SUBC_40000017... Etc)

3º.- Una hoja "DATOS" donde pegar los datos de la subcuenta seleccionada.

Tengo la siguiente macro:

Sub RevisarSubcuentas()
Sheets("DATOS").Select

Range("PIZARRA"). Clear
Range("SUBC_40000017"). Copy Range("PIZARRA")
'Selection.PasteSpecial Paste:=xlValues

End Sub

Hasta aquí todo bien

Mi pregunta:

Como hago que una variable, tome el valor de la celda actual en Hoja "LISTADO PROVEEDORES" y que éste valor que corresponde con un rango de igual nombre en la hoja "LIBRO MAYOR", pegue los datos seleccionados en el rango "PIZARRA" de la Hoja "DATOS".

Resumiendo, como hago para cambiar la palabra "SUB_40000017" de la macro por una variable.

1 respuesta

Respuesta
1

Tome el valor de la celda actual en Hoja "LISTADO PROVEEDORES"

Prueba lo siguiente:

Sub RevisarSubcuentas()
  Dim variable As String
  Application.ScreenUpdating = False
  '
  Sheets("LISTADO PROVEEDORES").Select
  variable = ActiveCell.Value
  '
  Range("PIZARRA").Clear
  Sheets("DATOS").Select
  Range(variable).Copy Range("PIZARRA")
  Application.ScreenUpdating = True
End Sub

¡Gracias! 

Como siempre gracias por su ayuda.

Un saludo

Me alegra ayudarte ! Gracias! Por comentar.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas