Cambiar el nombre de una hoja de Excel
Buenas,
Tengo un programa el cual al iniciar comprueba si existe o no un archivo Excel. En caso de que no exista, lo crea (hasta aquà ningún problema).
Pero el libro de excel debe tener 10 hojas i cada una de ellas debe de tener un nombre especÃfico (digamos nombre1, nombre2, etc.) y no sé como asignar un nombre a una hoja. Por defecto siempre me pone el nombre "Hoja1", "Hoja2", ...
Otro problema es que al crear una nueva hoja, esta siempre se coloca a la izquierda de las ya existentes, con lo que me queda : hoja4, hoja1, hoja2, hoja3.
Por favor, si alguien me pudiese ayudar le estaria eternamente agradecido. Muchas gracias desde ya ;)
Tengo un programa el cual al iniciar comprueba si existe o no un archivo Excel. En caso de que no exista, lo crea (hasta aquà ningún problema).
Pero el libro de excel debe tener 10 hojas i cada una de ellas debe de tener un nombre especÃfico (digamos nombre1, nombre2, etc.) y no sé como asignar un nombre a una hoja. Por defecto siempre me pone el nombre "Hoja1", "Hoja2", ...
Otro problema es que al crear una nueva hoja, esta siempre se coloca a la izquierda de las ya existentes, con lo que me queda : hoja4, hoja1, hoja2, hoja3.
Por favor, si alguien me pudiese ayudar le estaria eternamente agradecido. Muchas gracias desde ya ;)
hola, pues lo tienes fácil
no lo mencionas, pero supongo que creas un objeto "Excel.Application". Siendo asÃ:
ObjLibro.Workbooks.Open ...
...
'Esto renombra las hojas que haya existentes
For Cont = 1 To objLibro.Sheets.Count
objLibro.Sheets(Cont).Name= "Nombre" & Cont
Next
'y esto añade las que falten hasta 10, insertándolas después de la última
For Cont = objLibro.Sheets.Count+1 to 10
objLibro.Sheets.Add After:=objLibro.Sheets(objLibro.Sheets.Count)
objLibro.Sheets(cont).Name = "Nombre" & Cont
Next
no lo mencionas, pero supongo que creas un objeto "Excel.Application". Siendo asÃ:
ObjLibro.Workbooks.Open ...
...
'Esto renombra las hojas que haya existentes
For Cont = 1 To objLibro.Sheets.Count
objLibro.Sheets(Cont).Name= "Nombre" & Cont
Next
'y esto añade las que falten hasta 10, insertándolas después de la última
For Cont = objLibro.Sheets.Count+1 to 10
objLibro.Sheets.Add After:=objLibro.Sheets(objLibro.Sheets.Count)
objLibro.Sheets(cont).Name = "Nombre" & Cont
Next
