¿Cómo poner nombre a un archivo los datos de varias celdas?

Lo que me sucede es que quisiera poner el nombre de varias celdas (no sólo una) a un archivo esto utilizandouna macro y que mi macro se actiActive cuando cierta celda en particular cambie su valor de "on" a "off" se me resuelven se los agradecería mucho expertos

1 respuesta

Respuesta
2

Puedes poner la macro para hacer las actualizaciones.

Bueno lo del nombre ia lo resolví

ActiveWorkbook. Sabe As Filename="D:\" & Range ("H4). Text &", "&Range. ("I4"). Text & ". Xlsx",,,  FileFormat:=_

           X1OpenXLMWorkbook,  CreateBackup:=False 

Ahora lo que necesito hacer es que mi macro se Active cada que una celda cambie automáticamente, mi celda es un hipervínculo de IFIX y hace relación a un comando de cambia de ON a OFF cada cierto tiempo entonces quisiera que mi macro se activara cuando la celda haga eso cambiar de ON a OFF, también quisiera que mi archivo creará una carpeta con el nombrede una celda y si esta se repite no genere ningún problema ni cambie la carpeta o elimine

¿En esa celda que cambia de ON a OFF tienes una fórmula?

¿Quieres qué la macro se active cuando pasa de ON a OFF o cuando pasa de OFF a ON?

Si no importa el resultado de la celda tienes que utilizar el evento change:

Private Sub Worksheet_Change(ByVal Target As Range)
'Por.Dante Amor
    If Target.Count > 1 Then Exit Sub
    If Target.Address(False, False) <> "D3" Then Exit Sub
    Call guardararchivo
End Sub

Cambia D3 por la celda que tiene ON-OFF, cambia guardararchivo por el nombre de tu macro.


Sigue las Instrucciones para poner la macro en los eventos de worksheet

  1. Abre tu libro de excel
  2. Para abrir Vba-macros y poder pegar la macro, Presiona Alt + F11
  3. Del lado izquierdo dice: VBAProject, abajo dale doble click a worksheet(tu hoja)
  4. Del lado derecho copia la macro

Si la celda ON-OFF es el resultado de una fórmula entonces me tienes que decir cuál es la fórmula.


Para crear una carpeta utiliza lo siguiente:

Sub CrearCarpeta()
'Por.Dante Amor
    celda = [D4]
    If celda = "" Then
        MsgBox "Debes poner el nombre en la celda", vbCritical
        Exit Sub
    End If
    '
    carpeta = "C:\trabajo\" & celda
    If Dir(carpeta, vbDirectory) = "" Then
        MkDir carpeta
    End If
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas