Forums Últimos mensajes - Powered by IBM
 

Datos para macro

02/04/2007 - 20:16 por Oszkar M^ | Informe spam
Hola amigos del foro, mi inquietud es la siguiente:

Tengo una macro que hace ciertas operaciones apartir de un archivo de excel
ubicado en una carpeta determinada; sin embargo, el archivo va cambiando
(cada mes es un archivo diferente). Lo que deseo saber es si es posible que
la macro tome el nombre del archivo a partir de una celda en excel. Por
ejemplo, con este código:


Sub Macro1()
'
ChDir "C:\Documents and Settings\Propietario\Escritorio"
Workbooks.Open Filename:= _
"C:\Documents and Settings\Propietario\Escritorio\Archivo_Enero.xls"
Range("A38:C50").Select
Selection.Copy
Windows("LibroMacro.xls").Activate
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Range("A1").Select
Windows("Archivo_Enero.xls").Activate
Application.CutCopyMode = False
ActiveWindow.Close
End Sub

Es posible que la tercera linea, donde esta el nombre del archivo
("C:\Documents and Settings\Propietario\Escritorio\Archivo_Enero.xls"), tome
su valor de alguna celda del archivo "LibroMacro.xls", de tal forma que si yo
cambio el nombre y la ruta del archivo en dicha celda, la macro funcione con
el nuevo archivo especificado?.

Muchas gracias por su atención y su ayuda.

Saludos,

Oszkar M^
Sevilla - España
 

Leer las respuestas

#1 Héctor Miguel
02/04/2007 - 20:56 | Informe spam
hola, Oszkar !

si suponemos que la celda donde vas a poner ruta y nombre del archivo es 'A1'
y que la celda donde vas a copiar [y obviamente 'su' hoja] ya esta/n previamente seleccionada/s [o 'activa/s']
prueba con las siguientes lineas...

Sub Traer_valores()
With ActiveCell
Workbooks.Open .Parent.Range("a1")
.Resize(13, 3) = Range("a38:c50").Value
End With
ActiveWorkbook.Close
End Sub

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.

__ la consulta original __
Tengo una macro que hace ciertas operaciones apartir de un archivo de excel ubicado en una carpeta determinada
sin embargo, el archivo va cambiando (cada mes es un archivo diferente).
Lo que deseo... es... que la macro tome el nombre del archivo a partir de una celda... Por ejemplo, con este codigo:
Sub Macro1()
ChDir "C:\Documents and Settings\Propietario\Escritorio"
Workbooks.Open Filename:= _
"C:\Documents and Settings\Propietario\Escritorio\Archivo_Enero.xls"
Range("A38:C50").Select
Selection.Copy
Windows("LibroMacro.xls").Activate
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Range("A1").Select
Windows("Archivo_Enero.xls").Activate
Application.CutCopyMode = False
ActiveWindow.Close
End Sub
... que la tercera linea... el nombre del archivo ("C:\Documents and Settings\Propietario\Escritorio\Archivo_Enero.xls")
tome su valor de alguna celda del archivo "LibroMacro.xls"... que si yo cambio el nombre y la ruta del archivo en dicha celda
la macro funcione con el nuevo archivo especificado?.

Preguntas similares