crear libro nuevo y manipularlo con vba

18/11/2008 - 13:29 por javi | Informe spam
Buenos días, a ver si me echaís una ayudita;

Tengo un fichero excel (origen) que tras manipulaciones con vba me debe
crear otro (destino) que no existe.

Estoy haciendo un userform donde con un botón elijo un fichero origen (ya
existe) y con otro boton elijo un fichero destino (nuevo);
con el origen no tengo problemas, con el destino uso
-
Private Sub CommandButton2_Click()
Set NewBook = Workbooks.Add
Do
fname = Application.GetSaveAsFilename
Loop Until fname <> False
NewBook.SaveAs fileName:=fname
esta parte la he copiado de la ayuda de microsoft, me abre el diálogo de
"guardar como" y me crea el excel en la carpeta que elija con el nombre que
elija.
fname al final me queda como "C:\documentos\destino.xls"
entonces abro el destino
-
Workbooks.Open fileName:=fname

y ahora no sé como manejarlo, por ejemplo,

-
Workbooks(fname).Worksheets("Hoja1").Cells(1, 1) = "campo1"

esto me da error (subindice fuera del intervalo), creo que fname debería ser
solamente "destino.xls" pero no sé como sacar el nombre solamente.


gracias,

javi
 

Leer las respuestas

#1 Juan M
18/11/2008 - 15:15 | Informe spam
Hola javi,

Puedes crear una variable donde hagas referencia al objeto libro. Algo así:

Sub test()

Dim MiLibro As Workbook

Set MiLibro = Workbooks.Open("C:\temp\a.xls")

MiLibro.Worksheets(1).Range("C10") = "hola"
MiLibro.Close savechanges:=True
Set MiLibro = Nothing

End Sub

Este código abre el libro a.xls que está en la carpeta c:\temp y escribe en
la celda C10 la palabra hola.
Luego cierra el libro grabando los cambios.

Un saludo,
Juan


"javi" escribió > Buenos días, a ver si me echaís una ayudita;

Tengo un fichero excel (origen) que tras manipulaciones con vba me debe
crear otro (destino) que no existe.

Estoy haciendo un userform donde con un botón elijo un fichero origen (ya
existe) y con otro boton elijo un fichero destino (nuevo);
con el origen no tengo problemas, con el destino uso
-
Private Sub CommandButton2_Click()
Set NewBook = Workbooks.Add
Do
fname = Application.GetSaveAsFilename
Loop Until fname <> False
NewBook.SaveAs fileName:=fname
esta parte la he copiado de la ayuda de microsoft, me abre el diálogo de
"guardar como" y me crea el excel en la carpeta que elija con el nombre
que elija.
fname al final me queda como "C:\documentos\destino.xls"
entonces abro el destino
-
Workbooks.Open fileName:=fname

y ahora no sé como manejarlo, por ejemplo,

-
Workbooks(fname).Worksheets("Hoja1").Cells(1, 1) = "campo1"

esto me da error (subindice fuera del intervalo), creo que fname debería
ser solamente "destino.xls" pero no sé como sacar el nombre solamente.


gracias,

javi



Preguntas similares