Ejecutar macro al modificar celda.

Hola, me pregunto si se pueden hacer un par de funciones a través de macros, si es así ¿cómo sería?
1.- ¿Cómo puedo ejecutar una macro al poner cualquier valor en una celda?
2.- ¿Cómo se puede guardar automáticamente una hoja con el nombre de una celda?
3.- ¿Cómo elegir una carpeta para guardar el archivo automáticamente con una macro?
Muchas gracias de antemano.

1 Respuesta

Respuesta
1
Se pueden desarrollar macros que se guardan como funciones y aparecen en la lista de funciones en la categoría Definidas por usuario.
También se puede hacer lo que consultas en tus 3 puntos.
1-El ingreso de datos se controla desde el evento Change de la hoja. En el Editor, seleccionas con doble clic el objeto HOJA (será la hoja donde realizarás el ingreso de datos) y allí ingresas esto:
Private Sub Worksheet_Change(ByVal Target As Range)
'se controla lo ingresado en B2
if target.address(false, false) = "B2" then
'instrucciones
End if
End Sub
2- Estas instrucciones van en el evento que te ejecute el guardado del libro
dim nbre as string, cadena as string

nbre= sheets("tu_hoja").range("tucelda").value
cadena = carpeta & "\" & nbre & ".xls"
activeworkbook.SaveAs cadena
Nota: la carpeta puede ser otra variable, otra celda o ThisWorkbook. Path (es decir la misma carpeta donde está el libro abierto).
3- La siguiente rutina reemplaza el cuadro de diálogo GuardarComo... (tomado de la Ayuda Excel)
fileSaveName = Application.GetSaveAsFilename( _
fileFilter:="Excel Files (*.xls), *.xls")
If fileSaveName False Then
MsgBox "Save as " & fileSaveName 'opcional
End If
Saludos y no olvides presionar el botón FINALIZAR para dejar concluído el tema
Elsa
** Más instrucciones de ejemplo en mi sitio y en la demo del manual Programacion_Excel

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas