Por qué estas dos macros muestran error si están juntas?

En continuación a la otra conversación te respondo lo siguiente:

El conflicto es que esas dos macros no funcionan si están en un mismo libro en módulos diferentes, yo las he probado por separado y funcionan perfectamente.

El error que muestra es: (error de compilación: Se esperaba función o una variable)

La macro "Archivo" ni siquiera llega a arrancar.

  • Aquí están las dos macros.

Sub Archivo()
'Por.Dante Amor
Const DELIMITER As String = "|" 'or "|", vbTab, etc.
'
Set h1 = Sheets("Hoja1")
Set h2 = Sheets("Hoja2")
ruta = h1.[C11]
If Left(ruta, 1) <> "\" Then ruta = ruta & "\"
nombre = h1.[F12]
'
nFileNum = FreeFile
Open ruta & nombre & ".txt" For Output As #nFileNum
For Each r In h2.Range("A15:A100").Rows
For Each c In h2.Range(h2.Cells(r.Row, "A"), h2.Cells(r.Row, "AI"))
cadena = cadena & c.Value & DELIMITER
cadena2 = cadena2 & c.Value
Next
If cadena2 <> "" Then
Print #nFileNum, cadena
End If
cadena = Empty
cadena2 = Empty
Next
Close #nFileNum
MsgBox "Fin"
End Sub

La otra macro:

  • Sub ruta()
    'Por.DAM
    On Error Resume Next
    Set nv = CreateObject("shell.application")
    carpeta = nv.browseforfolder(0, "Selecciona una carpeta", 0, wpath).items.Item.Path
    If carpeta = "" Then
    MsgBox "No has seleccionado ninguna carpeta"
    Else
    Range("c11") = carpeta
    End If

    End Sub

1 Respuesta

Respuesta
1

Ya vi cuál es el problema.

Cambia el nombre de la macro "Ruta", pon este nombre: "SeleccionarCarpeta"

Entonces borra la macro "ruta" y te debe quedar así:

Sub SeleccionarCarpeta()
'Por.DAM
    On Error Resume Next
    Set nv = CreateObject("shell.application")
    carpeta = nv.browseforfolder(0, "Selecciona una carpeta", 0, wpath).items.Item.Path
    If carpeta = "" Then
    MsgBox "No has seleccionado ninguna carpeta"
    Else
    Range("c11") = carpeta
End If

Saludos.Dante Amor

Dante, funciona a la perfección, eres un verdadero genio. Un millón de gracias.

Que la pases super bien y asta la próxima...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas