Problema con macro


Que tal Experto tengo la siguiente duda necesito hacer un macro de forma tal que:Yo confecciono un archivo en excel y deseo que dicha archivo se guarde con el nombre de el valor de la celda A 5 por ejemplo. El macro lo confección con commandbutton1 quesea el evento.

Private Sub CommandButton1_Click()  

ActiveCell.FormulaR1C1 = "Juanperez" 'aqui no se que hacer
Range("A5").Select
ActiveWorkbook.SaveAs Filename:= _
"C:\Documents and Settings\principal\Mis documentos\juanperez.xls"'que campture valor de 'celda A5
End Sub

Saludos Cordiales.

1 respuesta

Respuesta
1
Deberías hacer lo siguiente :
Private Sub CommandButton1_click ()
    nombre_de_Archivo = Range("a5").value & ".xls"
    ruta_del_archivo = Range("a4").value & "\"
    ActiveWorkbook.SaveAs Filename = ruta_del_archivo & nombre_de_archivo
End sub
Por cualquier consulta quedo a las ordenes
Saludos y no te olvides de finalizar y evaluar la respuesta.
Que tal Experto disculpe que le conteste tarde pero tengo el problema que : cada vez que realizo el evento (botón 1 ) lo guarda al archivo pero:
A si yo escribí el código en el vba:
Private Sub CommandButton1_Click()

nombre_de_archivo = Range("a5").Value & ".xls"
ruta_del_archivo = Range("a4").Value & "\"
ActiveWorkbook.SaveAs Filename = ruta_del_archivo & nombre_de_archivo
End Sub
Yo cargo en la celda a4 la ruta ejemplo c:\ y en a5 el nombre ejemplo ramiro desde el área de tarea de Excel (las celdas), guarda el archivo con el nombre false en mis documentos, si yo cambio ahora el nombre por ejemplo matías y la ruta c:\windows me vuelve el cartel de Excel diciendo que:Desea reemplazar el archivo false, es decir false se guarda como nombre del archivo, y en mis documentos como ubicación / directorio(carpeta).

Luego recurro al código y me aparece el siguiente error:
Error 1004
Error en el método "sabe as" de objeto "_workbook"
Depuro dicho error y me sombrea de color amarillo la ultima linea de código.
ActiveWorkbook.SaveAs Filename = ruta_del_archivo & nombre_de_archivo
Desde ya millones de gracias por su tiempo Experto y disculpe que no lo pude probar antes.
Perdón ... aquí te mando el código corregido
Private Sub CommandButton1_Click()
   nombre_de_archivo = Range("a5").Value & ".xls"
   If Right(ruta_del_archivo, 1) "\" Then
                ruta_del_archivo = Range("a4").Value & "\"
    End If
    ActiveWorkbook.SaveCopyAs ruta_del_archivo & nombre_de_archivo
End Sub
Agregue un condicional que evalúa si la ruta tiene la contrabarra como último carácter
cambie el SaveAs por el SaveCopy (ya que como vas a estar cambiando la ruta y el nombre de archivo, es mejor realizar una copia y no guardar el original)
Disculpa el inconveniente.
Desde ya Experto, no tengo palabras para agradecerle ... ya con esta ayuda me facilita mucho las cosas.
Muchas pero muchas gracias por su tiempo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas