Macro

Tengo un libro de excel en donde tengo una que se llama cotizaciones, necesito una macro que me guarde dicha hoja con nombre del proyecto, la fecha y el numero de cotización y que cambie de acuerdo a la próxima cotización
Cliente: Secretaria de Marina Cuartel General Proyecto: Tarjetas de Proximidad Fecha: 8 de julio de 2011 Cotización No.CTSMA 00052

1 respuesta

Respuesta
1
Aclarame si necesitas crear un libro por cada cotización, o solo necesitas guardar el libro activo con nombre que correspondan a esos datos.
También indicame en qué celdas se encuentran esos datos así te paso la rutina ajustada.
Gracias Elsa.
Necesito guardar la hoja activa, esto es del libro de excel que consta de 9 hojas solo me guarde la de cotizaciones pero con el nombre del proyecto la fechay el numero de cotización.
En mi celda D2 tengo el nombre del Cliente
En mi celda D3 tengo el nombre del Proyecto
En la celda D4 la fecha
Y posteriormente en la celda H3 con la función "ct"&maysc (b1) y en la I3 con una macro que me da automumerar y que en todo esto en conjunto lo integraron como el número de cotización
Lo que necesito es una macro que guarde solo esta hoja con el nombre del proyecto la fecha y el número de cotización.
Disculpa si te doy muchos problemas soy secretaria y no se nada de macros ya que lo que se de computación es por iniciativa propia y lo que he desarrollado en mis trabajos.
Gracias por tu tiempo y atenciones.
Bien, entrá al Editor, seleccioná un módulo y copiá esta rutina.
Luego podrás asignarla a un botón o a un atajo de teclado. En mi página de macros podes leer el paso a paso para esto
Fíjate que a la fecha le asigné un formato apto para nombres de libros Excel (las barras no son permitidas). También revisá si la extensión será xls o alguna otra.
Sub creaLibro()
'x Elsamatilde
Sheets("cotizaciones").Select
'defino el nombre del libro que se vá a crear- AJUSTAR
nombre = Range("D3") & " " & Format(Range("D4"), "dd-mm-yyyy") & " " & Range("H3") & Range("I3")
'copio hoja activa y guardo como libro
ActiveSheet.Copy
'inhabilito posible mensaje de alerta
Application.DisplayAlerts = False
Set wb = ActiveWorkbook
'por error (ya existe archivo o nbre inválido) muestra ventana para cambiar nbre o ruta
On Error Resume Next
With wb
.SaveAs ThisWorkbook.Path & "\" & nombre & ".xls"
'habilito nuevamente mensajes de alertas
Application.DisplayAlerts = True
.Close True
End With
Set wb = Nothing
End Sub
ThisWorkbook. Path significa que se guardará en la misma carpeta que el libro activo.
Podes asignar alguna otra con una instrucción como esta:
ruta = "C:\Documents and Settings\All Users\Documentos\cotizaciones\"
Y luego la línea del Sabe quedaría así:
.SaveAs ruta & nombre & ".xls"
PD) Macro extraída de mi manual 400MacrosPlus... Te invito a visitar mi sitio, todavía estás a tiempo de aprovechar la promoción de este mes en manuales.
Sdos
Elsa

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas