Para "KL" - Nombrar archivos (continuación)

17/02/2005 - 16:37 por Mbaeijhapa | Informe spam
Hola KL,
Disculpa si no me he expresado bien en mi requerimiento del 16/02, pero
resulta que las instrucciones que me has enviado (que escribo a continuación)
me genera un error en la última linea.

Sub Test()
Dim Nombre As String
Nombre = ActiveSheet.Range("A1") & ".xls"
Workbooks.Add.SaveAs Nombre
End Sub

Esta instrucción me crea un libro en blanco y dá un error en la linea
"Workbooks.Add.SaveAs Nombre"

Voy a tratar de explicarte mejor lo que necesito:
Tengo un "Libro X" que, a través de una macro, me genera otro "Libro X1" que
contiene datos procesados del "Libro X", lo que necesito es que el "Libro X1"
sea grabado con un nombre que está ingresado en la celda "A1" del "Libro X".

KL, te agradezco la preocupación por resolver el tema.

Mbaeijhapa.

Preguntas similare

Leer las respuestas

#1 KL
17/02/2005 - 17:14 | Informe spam
Hola Mbaeijhapa,

Podrias exponer el macro q usas para crear nuevo libro y el valor de la
celda [A1] q usas para cambiar el nombre de la hoja.

Creo q lo q ocurre es q tu macro ya tiene una rutina para crear un nuevo
libro. El mio tambien. Entonces pasa lo siguiente. Al crear tu macro el
libro "Libro X1" este se activa y se desactiva el "Libro X". Al mismo tiempo
mi macro coge el valor de la celda [A1] de la hoja activa del libro activo q
en este caso ya es "Libro X1" q probablemente tiene algo q no vale como
nombre de libro y por lo tanto produce el error (por cierto ?q error te
da?).

Saludos,
KL


"Mbaeijhapa" wrote in message
news:
Hola KL,
Disculpa si no me he expresado bien en mi requerimiento del 16/02, pero
resulta que las instrucciones que me has enviado (que escribo a
continuacion)
me genera un error en la ultima linea.

Sub Test()
Dim Nombre As String
Nombre = ActiveSheet.Range("A1") & ".xls"
Workbooks.Add.SaveAs Nombre
End Sub

Esta instruccion me crea un libro en blanco y da un error en la linea
"Workbooks.Add.SaveAs Nombre"

Voy a tratar de explicarte mejor lo que necesito:
Tengo un "Libro X" que, a traves de una macro, me genera otro "Libro X1"
que
contiene datos procesados del "Libro X", lo que necesito es que el "Libro
X1"
sea grabado con un nombre que esta ingresado en la celda "A1" del "Libro
X".

KL, te agradezco la preocupacion por resolver el tema.

Mbaeijhapa.

Respuesta Responder a este mensaje
#2 Mbaeijhapa
17/02/2005 - 19:15 | Informe spam
Hola KL,
Es tal cual como dices, mi macro ya tiene una rutina para crear un nuevo
libro.
A continuación te expongo el macro que uso, además te informo que el valor
de la celda "A1" del "Libro X" es "EXPORT200412.TXT" (quiero crear un archivo
de texto con el "Libro X1"). Amigo, no soy un experto, soy un aficionado que
va aprendiendo día a día gracias a la gran ayuda que me dan tú y todo el
grupo, gracias.

Sub FILTRO()
'
Application.ScreenUpdating = False

Sheets("REGISTROS").Visible = True
Sheets("REGISTROS").Select
Range("B2").Select
Selection.AutoFilter Field:=4, Criteria1:="SI"
Application.Goto Reference:="BASE"
Selection.Copy
Workbooks.Add
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Columns("A:A").EntireColumn.AutoFit
Range("A1").Select

Kill "c:\Resolucion_1104eso-1.xls"

ActiveWorkbook.SaveAs FileName:="C:\Resolucion_1104eso-1.xls",
FileFormat _
:=xlNormal, Password:="", WriteResPassword:="",
ReadOnlyRecommended:= _
False, CreateBackup:=False

Windows("RES-1104.xls").Activate
Application.CutCopyMode = False
Range("A1").Select
Selection.AutoFilter Field:=4
ActiveWindow.SelectedSheets.Visible = False

Windows("reso-1.xls").Activate
Range("A1").Select

Dim EsteRango As String, Fila As Long
For Fila = 2 To Range("a65536").End(xlUp).Row
If EsteRango <> "" Then EsteRango = EsteRango & ","
EsteRango = EsteRango & "a" & Fila
Next
Range(EsteRango).EntireRow.Insert

Application.ScreenUpdating = True

End Sub


"KL" escribió:

Hola Mbaeijhapa,

Podrias exponer el macro q usas para crear nuevo libro y el valor de la
celda [A1] q usas para cambiar el nombre de la hoja.

Creo q lo q ocurre es q tu macro ya tiene una rutina para crear un nuevo
libro. El mio tambien. Entonces pasa lo siguiente. Al crear tu macro el
libro "Libro X1" este se activa y se desactiva el "Libro X". Al mismo tiempo
mi macro coge el valor de la celda [A1] de la hoja activa del libro activo q
en este caso ya es "Libro X1" q probablemente tiene algo q no vale como
nombre de libro y por lo tanto produce el error (por cierto ?q error te
da?).

Saludos,
KL


"Mbaeijhapa" wrote in message
news:
> Hola KL,
> Disculpa si no me he expresado bien en mi requerimiento del 16/02, pero
> resulta que las instrucciones que me has enviado (que escribo a
> continuacion)
> me genera un error en la ultima linea.
>
> Sub Test()
> Dim Nombre As String
> Nombre = ActiveSheet.Range("A1") & ".xls"
> Workbooks.Add.SaveAs Nombre
> End Sub
>
> Esta instruccion me crea un libro en blanco y da un error en la linea
> "Workbooks.Add.SaveAs Nombre"
>
> Voy a tratar de explicarte mejor lo que necesito:
> Tengo un "Libro X" que, a traves de una macro, me genera otro "Libro X1"
> que
> contiene datos procesados del "Libro X", lo que necesito es que el "Libro
> X1"
> sea grabado con un nombre que esta ingresado en la celda "A1" del "Libro
> X".
>
> KL, te agradezco la preocupacion por resolver el tema.
>
> Mbaeijhapa.
>



Respuesta Responder a este mensaje
#3 KL
17/02/2005 - 20:43 | Informe spam
Hola Mbaeijhapa,

Mira a ver si el codigo de abajo hace lo q quieres hacer.

Saludos,
KL

'-Inicio Codigo
Sub FILTRO()
Dim Copia As Workbook
Dim Nombre As String
Dim EsteRango As String
Dim Fila As Long

Application.ScreenUpdating = False

With ThisWorkbook.Sheets("REGISTROS")
Nombre = Left(.Range("A1"), Len(.Range("A1")) - 4)
.Range("A2").AutoFilter Field:=4, Criteria1:="SI"
.AutoFilter.Range.Copy
.EnableAutoFilter = False
End With

Set Copia = Workbooks.Add
With Copia.ActiveSheet
With .Range("A1")
.PasteSpecial Paste:=xlValues
Application.CutCopyMode = False
.EntireColumn.AutoFit
.Select
End With
Kill "c:\Resolucion_1104eso-1.xls"
.Parent.SaveAs "C:\Resolucion_1104\" & Nombre & ".xls"

For Fila = 2 To .Range("a65536").End(xlUp).Row
If EsteRango <> "" Then EsteRango = EsteRango & ","
EsteRango = EsteRango & "a" & Fila
Next
.Range(EsteRango).EntireRow.Insert
End With
Application.ScreenUpdating = True
End Sub
'-Fin Codigo

"Mbaeijhapa" wrote in message
news:
Hola KL,
Es tal cual como dices, mi macro ya tiene una rutina para crear un nuevo
libro.
A continuacion te expongo el macro que uso, ademas te informo que el valor
de la celda "A1" del "Libro X" es "EXPORT200412.TXT" (quiero crear un
archivo
de texto con el "Libro X1"). Amigo, no soy un experto, soy un aficionado
que
va aprendiendo dia a dia gracias a la gran ayuda que me dan tu y todo el
grupo, gracias.

Sub FILTRO()
'
Application.ScreenUpdating = False

Sheets("REGISTROS").Visible = True
Sheets("REGISTROS").Select
Range("B2").Select
Selection.AutoFilter Field:=4, Criteria1:="SI"
Application.Goto Reference:="BASE"
Selection.Copy
Workbooks.Add
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:=
_
False, Transpose:=False
Columns("A:A").EntireColumn.AutoFit
Range("A1").Select

Kill "c:\Resolucion_1104eso-1.xls"

ActiveWorkbook.SaveAs FileName:="C:\Resolucion_1104eso-1.xls",
FileFormat _
:=xlNormal, Password:="", WriteResPassword:="",
ReadOnlyRecommended:= _
False, CreateBackup:=False

Windows("RES-1104.xls").Activate
Application.CutCopyMode = False
Range("A1").Select
Selection.AutoFilter Field:=4
ActiveWindow.SelectedSheets.Visible = False

Windows("reso-1.xls").Activate
Range("A1").Select

Dim EsteRango As String, Fila As Long
For Fila = 2 To Range("a65536").End(xlUp).Row
If EsteRango <> "" Then EsteRango = EsteRango & ","
EsteRango = EsteRango & "a" & Fila
Next
Range(EsteRango).EntireRow.Insert

Application.ScreenUpdating = True

End Sub


"KL" escribio:

Hola Mbaeijhapa,

Podrias exponer el macro q usas para crear nuevo libro y el valor de la
celda [A1] q usas para cambiar el nombre de la hoja.

Creo q lo q ocurre es q tu macro ya tiene una rutina para crear un nuevo
libro. El mio tambien. Entonces pasa lo siguiente. Al crear tu macro el
libro "Libro X1" este se activa y se desactiva el "Libro X". Al mismo
tiempo
mi macro coge el valor de la celda [A1] de la hoja activa del libro
activo q
en este caso ya es "Libro X1" q probablemente tiene algo q no vale como
nombre de libro y por lo tanto produce el error (por cierto ?q error te
da?).

Saludos,
KL


"Mbaeijhapa" wrote in message
news:
> Hola KL,
> Disculpa si no me he expresado bien en mi requerimiento del 16/02, pero
> resulta que las instrucciones que me has enviado (que escribo a
> continuacion)
> me genera un error en la ultima linea.
>
> Sub Test()
> Dim Nombre As String
> Nombre = ActiveSheet.Range("A1") & ".xls"
> Workbooks.Add.SaveAs Nombre
> End Sub
>
> Esta instruccion me crea un libro en blanco y da un error en la linea
> "Workbooks.Add.SaveAs Nombre"
>
> Voy a tratar de explicarte mejor lo que necesito:
> Tengo un "Libro X" que, a traves de una macro, me genera otro "Libro
> X1"
> que
> contiene datos procesados del "Libro X", lo que necesito es que el
> "Libro
> X1"
> sea grabado con un nombre que esta ingresado en la celda "A1" del
> "Libro
> X".
>
> KL, te agradezco la preocupacion por resolver el tema.
>
> Mbaeijhapa.
>



Respuesta Responder a este mensaje
#4 Mbaeijhapa
17/02/2005 - 21:45 | Informe spam
Amigo KL,

Agradezco el tiempo que te has tomado para analizar mi macro y realizar uno
nuevo para ver si resolvia el tema; pero lamento decirte que no devuelve el
resultado que esperaba.

De todos modos, el macro que te he enviado funciona bien y devuelve el
resultado que espero, solamente le quiero agregar una instrucción que grabe
el "Libro X1" que genera, con el nombre del dato ingresado en la celda "A1"
del "Libro X" (libro donde se encuentra el macro). Es decir, si en la celda
"A1"("Libro X") el dato ingresado es "ENERO", quiero que el "Libro X1" se
llame "ENERO.TXT".

Igualmente te estoy muy agradecido, y si se te ocurre algo más, será
bienvenido.

Saludos
Mbaeijhapa.


"KL" escribió:

Hola Mbaeijhapa,

Mira a ver si el codigo de abajo hace lo q quieres hacer.

Saludos,
KL

'-Inicio Codigo
Sub FILTRO()
Dim Copia As Workbook
Dim Nombre As String
Dim EsteRango As String
Dim Fila As Long

Application.ScreenUpdating = False

With ThisWorkbook.Sheets("REGISTROS")
Nombre = Left(.Range("A1"), Len(.Range("A1")) - 4)
.Range("A2").AutoFilter Field:=4, Criteria1:="SI"
.AutoFilter.Range.Copy
.EnableAutoFilter = False
End With

Set Copia = Workbooks.Add
With Copia.ActiveSheet
With .Range("A1")
.PasteSpecial Paste:=xlValues
Application.CutCopyMode = False
.EntireColumn.AutoFit
.Select
End With
Kill "c:\Resolucion_1104eso-1.xls"
.Parent.SaveAs "C:\Resolucion_1104\" & Nombre & ".xls"

For Fila = 2 To .Range("a65536").End(xlUp).Row
If EsteRango <> "" Then EsteRango = EsteRango & ","
EsteRango = EsteRango & "a" & Fila
Next
.Range(EsteRango).EntireRow.Insert
End With
Application.ScreenUpdating = True
End Sub
'-Fin Codigo

"Mbaeijhapa" wrote in message
news:
> Hola KL,
> Es tal cual como dices, mi macro ya tiene una rutina para crear un nuevo
> libro.
> A continuacion te expongo el macro que uso, ademas te informo que el valor
> de la celda "A1" del "Libro X" es "EXPORT200412.TXT" (quiero crear un
> archivo
> de texto con el "Libro X1"). Amigo, no soy un experto, soy un aficionado
> que
> va aprendiendo dia a dia gracias a la gran ayuda que me dan tu y todo el
> grupo, gracias.
>
> Sub FILTRO()
> '
> Application.ScreenUpdating = False
>
> Sheets("REGISTROS").Visible = True
> Sheets("REGISTROS").Select
> Range("B2").Select
> Selection.AutoFilter Field:=4, Criteria1:="SI"
> Application.Goto Reference:="BASE"
> Selection.Copy
> Workbooks.Add
> Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:=
> _
> False, Transpose:=False
> Columns("A:A").EntireColumn.AutoFit
> Range("A1").Select
>
> Kill "c:\Resolucion_1104eso-1.xls"
>
> ActiveWorkbook.SaveAs FileName:="C:\Resolucion_1104eso-1.xls",
> FileFormat _
> :=xlNormal, Password:="", WriteResPassword:="",
> ReadOnlyRecommended:= _
> False, CreateBackup:=False
>
> Windows("RES-1104.xls").Activate
> Application.CutCopyMode = False
> Range("A1").Select
> Selection.AutoFilter Field:=4
> ActiveWindow.SelectedSheets.Visible = False
>
> Windows("reso-1.xls").Activate
> Range("A1").Select
>
> Dim EsteRango As String, Fila As Long
> For Fila = 2 To Range("a65536").End(xlUp).Row
> If EsteRango <> "" Then EsteRango = EsteRango & ","
> EsteRango = EsteRango & "a" & Fila
> Next
> Range(EsteRango).EntireRow.Insert
>
> Application.ScreenUpdating = True
>
> End Sub
>
>
> "KL" escribio:
>
>> Hola Mbaeijhapa,
>>
>> Podrias exponer el macro q usas para crear nuevo libro y el valor de la
>> celda [A1] q usas para cambiar el nombre de la hoja.
>>
>> Creo q lo q ocurre es q tu macro ya tiene una rutina para crear un nuevo
>> libro. El mio tambien. Entonces pasa lo siguiente. Al crear tu macro el
>> libro "Libro X1" este se activa y se desactiva el "Libro X". Al mismo
>> tiempo
>> mi macro coge el valor de la celda [A1] de la hoja activa del libro
>> activo q
>> en este caso ya es "Libro X1" q probablemente tiene algo q no vale como
>> nombre de libro y por lo tanto produce el error (por cierto ?q error te
>> da?).
>>
>> Saludos,
>> KL
>>
>>
>> "Mbaeijhapa" wrote in message
>> news:
>> > Hola KL,
>> > Disculpa si no me he expresado bien en mi requerimiento del 16/02, pero
>> > resulta que las instrucciones que me has enviado (que escribo a
>> > continuacion)
>> > me genera un error en la ultima linea.
>> >
>> > Sub Test()
>> > Dim Nombre As String
>> > Nombre = ActiveSheet.Range("A1") & ".xls"
>> > Workbooks.Add.SaveAs Nombre
>> > End Sub
>> >
>> > Esta instruccion me crea un libro en blanco y da un error en la linea
>> > "Workbooks.Add.SaveAs Nombre"
>> >
>> > Voy a tratar de explicarte mejor lo que necesito:
>> > Tengo un "Libro X" que, a traves de una macro, me genera otro "Libro
>> > X1"
>> > que
>> > contiene datos procesados del "Libro X", lo que necesito es que el
>> > "Libro
>> > X1"
>> > sea grabado con un nombre que esta ingresado en la celda "A1" del
>> > "Libro
>> > X".
>> >
>> > KL, te agradezco la preocupacion por resolver el tema.
>> >
>> > Mbaeijhapa.
>> >
>>
>>
>>



Respuesta Responder a este mensaje
#5 KL
17/02/2005 - 22:37 | Informe spam
Hola Mbaeijhapa,

...pero lamento decirte que no devuelve el
resultado que esperaba.



Te importaria enviarme el libro o explicarme con mas detalle en que
exactamente mi macro no hace lo q buscas - me tienes intrigado. Es q hice
pruebas y me devolvia unos resultados q tenian sentido.

...solamente le quiero agregar una instruccion que grabe
el "Libro X1" que genera, con el nombre del dato ingresado en la celda
"A1"
del "Libro X" (libro donde se encuentra el macro). Es decir, si en la
celda
"A1"("Libro X") el dato ingresado es "ENERO", quiero que el "Libro X1" se
llame "ENERO.TXT".



Estas lineas deberian indicarte el camino

Nombre=Workbooks("Libro X").Sheets(1).Range("A1").Value
Workbooks("Libro X1").SaveAs Nombre & ".txt"

Saludos,
KL
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida