Saltar al contenido

Error de compilación al usar lo que devuelve un inputBox


Recommended Posts

publicado

Buenas chic@s.

En un momento determinado de la macro solicito mediante un cuadro de diálogo la hoja en la que se van a trasladar ciertos datos. Uso esta expresión:

    hojaDestino = InputBox(prompt:="Introduce el nombre de la hoja", Title:="Hoja de destino de los datos", Default:=hojaActiva)


También he probado:

    hojaDestino = Application.InputBox(prompt:="Introduce el nombre de la hoja", Title:="Hoja de destino de los datos", Default:=hojaActiva, type:=2)

 

La variable hojaDestino la declaro como String y todo funciona perfectamente. La puedo usar para crear una hoja nueva sin problema,  o para escribir en una celda concreta de esa hoja. 

El error surge cuando quiero pasarla como parámetro en un par de funciones que he creado que requieren una CADENA. Entonces me da un error de compilación: el tipo de argumento de byRef no coincide. Es como si no fuera una cadena en realidad, aunque cuando depuro paso a paso y veo su valor, aparece entrecomillado y correcto. Os paso un ejemplo de una de las dos funciones en la que la quiero pasar como parámetro:

Function BuscarHoja(nombreHoja As String) As Boolean
     For i = 1 To Worksheets.Count
        If Worksheets(i).Name = nombreHoja Then
            BuscarHoja = True
            Exit Function
        End If
    Next
     BuscarHoja = False
End Function
 

Cuando la llamo utilizando BuscarHoja(hojaDestino) me da este error de compilación.

Muchas gracias de antemano.

publicado

Muchísimas gracias Alexander por tomarte la molestia de contestar y hacer el código y todo. Esa parte la tenía igual, pero al final encontré el fallo por una línea de prueba comentada. Chorradas que nos ocurren a los novatos jeje con una macro gigante.

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.