Copiar hoja de excel automaticamente

02/01/2007 - 21:34 por jonathanbustillos | Informe spam
Saludos, mi pregunta es la siguiente: debo llevar un control de costos
de tal proyecto, debo medir los avances fisicos a cada determinada
fecha de corte, para lo cual creé en excel una hoja para cada fecha de
corte. Entre las columnas que tiene la hoja, está la columna del
avance del periodo anterior (APA) y la del avance de este periodo
(AEP). El APA de cada nueva hoja deberia ser el AEP de la ultima hoja
hecha. Entonces lo que necesito es que con un boton que se llame por
ejemplo "Crear nueva fecha de corte", y que copie la ultima hoja que se
hizo solo que en la columna APA aparezcan los datos de AEP de la hoja
anterior. Lo de copiar los datos de una columna a otra de otra hoja
nueva ya esta resuelto, lo que no puedo es como hacer para que excel
reconozca cual es la ultima hoja, alguien me ayude por favor.

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
03/01/2007 - 05:13 | Informe spam
hola, jonathan !

... necesito es que con un boton... copie la ultima hoja que se hizo
... que en la columna APA aparezcan los datos de AEP de la hoja anterior.
Lo de copiar los datos de una columna a otra de otra hoja nueva ya esta resuelto
lo que no puedo es como hacer para que excel reconozca cual es la ultima hoja [...]



la siguiente instruccion, hace una copia de la ultima hoja y la manda al final de las hojas -> en el libro activo...
worksheets(worksheets.count).copy after:=worksheets(worksheets.count)
[tambien la deja como la hoja 'activa', por si quieres despues modificar su nombre] ;)

'te toca' hacer que en la columna APA [de la nueva] aparezcan los datos de la columna AEP [de la anterior] :))
[puesto que no comentaste de cual columna 'estamos hablando'] :-(

OJO: observa el 'CodeName' que se le va asignando en el proyecto VBA a cada una de las hojas re/copiadas ;)

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.
Respuesta Responder a este mensaje
#2 jonathanbustillos
05/01/2007 - 20:30 | Informe spam
Gracias Hector por tu ayuda,

De hecho la parte de copiar la ultima hoja la pude resolver junto con
lo de ponerle el nombre a la hoja; para lo que hice un userform con un
textbox y un boton de ok, esta es la rutina en orden:

Sub cuadronombre() Esta macro esta asignada a un boton dentro de
la hoja que se llama "Nuevo avance"
UserForm1.Show
End Sub

Private Sub CommandButton1_Click() Esta macro esta asignada al boton
"Ok" dentro del userform
Copiarultimahoja
End Sub


Sub Copiarultimahoja() Este es el modulo
principal

Dim nh As Integer

nh = ActiveWorkbook.Sheets.Count

ActiveWorkbook.Worksheets(nh).Copy
After:=ActiveWorkbook.Worksheets(nh)

ActiveSheet.Name = UserForm1.TextBox1.Text 'aca queria
meter tres combobox (dia, mes, año) en lugar

de un simple textbox
End Sub

Lo que no he iniciado es lo de copiar las columnas, pero es sencillo

Muchas Gracias



Héctor Miguel ha escrito:

hola, jonathan !

> ... necesito es que con un boton... copie la ultima hoja que se hizo
> ... que en la columna APA aparezcan los datos de AEP de la hoja anterior.
> Lo de copiar los datos de una columna a otra de otra hoja nueva ya esta resuelto
> lo que no puedo es como hacer para que excel reconozca cual es la ultima hoja [...]

la siguiente instruccion, hace una copia de la ultima hoja y la manda al final de las hojas -> en el libro activo...
worksheets(worksheets.count).copy after:=worksheets(worksheets.count)
[tambien la deja como la hoja 'activa', por si quieres despues modificar su nombre] ;)

'te toca' hacer que en la columna APA [de la nueva] aparezcan los datos de la columna AEP [de la anterior] :))
[puesto que no comentaste de cual columna 'estamos hablando'] :-(

OJO: observa el 'CodeName' que se le va asignando en el proyecto VBA a cada una de las hojas re/copiadas ;)

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida