1. AyudaExcel utiliza cookies. Si continuas utilizando AyudaExcel, estás aceptando la utilización de nuestras cookies. Más información.
  2. ¡Bienvenid@ a AyudaExcel! El foro más visitado sobre Excel en habla hispana.

    Si esta es tu primera visita, asegúrate de revisar los temas de la sección Utilización y Funcionamiento para familiarizarte con las funciones del foro. Si deseas publicar mensajes, será necesario que te Registres para que puedas dejar respuestas y crear tus propios mensajes, recuerda que es gratuito.

Solucionado Error 13 en tiempo de ejecucion, no coinciden los tipos

Tema publicado en 'Macros y programación VBA' iniciado por juanpl206, 23 Mar 2012.

Estado del tema:
Cerrado para nuevas respuestas
  1. juanpl206

    juanpl206 Usuario

    Registrado:
    16 Dic 2008
    Mensajes:
    44
    Me Gusta recibidos:
    0
    hola a todos, no puedo resolver el siguiente problema, tengo una macro que modifique pero no me funciona, me sale lo que anuncia el titulo, adjunto la misma para ver si me dan una mano, gracias.
    PHP:
    Sub FRANCOSIGUIENTE()
    Dim uf As Byte
    Dim rango 
    As Range
    Dim rango1 
    As Range
    Dim bus 
    As Variant
    Set rango 
    Range("G6:M533")
    Set rango1 Sheets("BORROFROYVACA").Range("A11:N105")
    Application.ScreenUpdating False
    For Each Celda In rango

    Sheets
    ("PUB.FRANCOS").Select
    If Celda Sheets("BORROFROYVACA").Range("E9"Then
    bul 
    Celda.Offset(, -Celda.Column 1)
    Sheets("BORROFROYVACA").Select
    For Each celda1 In rango1
    uf 
    celda1.Column
    If celda1 bul And uf 5 Then celda1.Offset(, 2).Interior.ColorIndex 21: Exit For
    If 
    celda1 bul And uf 12 Then celda1.Offset(, 2).Interior.ColorIndex 21: Exit For
    Next
    End 
    If
    Next
    Application
    .ScreenUpdating True
    Sheets
    ("BORROFROYVACA").Select
    End Sub
    en la linea que pongo abajo es donde me sale el error.
    If Celda = Sheets("BORROFROYVACA").Range("E9") Then

    soluciones? gracias amigos, aguardo una respuesta.
    Atte juanpl206
  2. Gerson Pineda

    Gerson Pineda Moderador Staff AyudaExcel

    Registrado:
    30 Mar 2009
    Mensajes:
    6.869
    Me Gusta recibidos:
    607
    Género:
    Masculino
  3. juanpl206

    juanpl206 Usuario

    Registrado:
    16 Dic 2008
    Mensajes:
    44
    Me Gusta recibidos:
    0
  4. Gerson Pineda

    Gerson Pineda Moderador Staff AyudaExcel

    Registrado:
    30 Mar 2009
    Mensajes:
    6.869
    Me Gusta recibidos:
    607
    Género:
    Masculino
    En la linea que indicas, para que funcione debe arrojar un valor numerico/logico/booleano de lo contrario, te lanzara tal error, revisa el contenido de la celda E9 de la hoja BORROFROYVACA, que contenga lo que te comento

    Saludos
  5. Macro Antonio

    Macro Antonio Incondicional de Ayuda Excel

    Registrado:
    12 May 2010
    Mensajes:
    5.623
    Me Gusta recibidos:
    1.043
    Sube el archivo y saldremos de dudas.

    El error es un error de datos, solo con el código VBA es imposible saber donde está el error, tal como te apunta Gerson, la única conclusión es que ambos lados de la comparación no son compatibles en cuanto al tipo de datos se refiere.
  6. jenju302

    jenju302 Usuario

    Registrado:
    6 Ago 2010
    Mensajes:
    40
    Me Gusta recibidos:
    0
    Género:
    Femenino
    porque no verificas que tipo de dato tenes en la celda E9, ademas si tienes la hoja protejida tenes que desprotejerla, para que la macro se se ejecute sin problema.
  7. juanpl206

    juanpl206 Usuario

    Registrado:
    16 Dic 2008
    Mensajes:
    44
    Me Gusta recibidos:
    0
    Bueno cada dia se me complica mas, ahora arme un archivo (menos pesado) para poner aca en el foro y directamente la macro se ejecuta pero no hace lo que tendria que hacer, que originalmente era para borrar los datos que coincidian y yo la queria reformar para que en lugar de borrar pinte los datos que coinciden, lo que requiero es que al colocar en la celda "E9" la fecha, lo busque en la hoja "pub.francos", y los que coincidan me los pinte pero solo en la columna "G" y "N" de la hoja "borrofroyvaca".
    se entiende o lo complique?
    adjunto el archivo.
    En el archivo original me tiraba error 13 en tiempos de ejecucion pero ahora en este libro nuevo no tira error 13 pero tampoco funciona correctamente.

    Adjuntos:

  8. Gerson Pineda

    Gerson Pineda Moderador Staff AyudaExcel

    Registrado:
    30 Mar 2009
    Mensajes:
    6.869
    Me Gusta recibidos:
    607
    Género:
    Masculino
    Hola juanpl206
    Revisa el adjunto y nos comentas

    Existen varias formas de conseguirlo, me fui por la que creo es muy eficiente (autofiltro)

    Pd con archivo es mas facil comprender para ayudar y preguntar

    Saludos

    Adjuntos:

  9. juanpl206

    juanpl206 Usuario

    Registrado:
    16 Dic 2008
    Mensajes:
    44
    Me Gusta recibidos:
    0
    Hola Catracho, antes que nada quiero darte las gracias por responder, pero evidentemente no me explique bien , si bien en tu ejemplo busca y pinta lo que coincide, yo quiero que pinte pero en la hoja "borrofroyvaca", veamos, en la hoja "borrofroyvaca" en la celda "E9" coloco la fecha, luego tendria que buscar en la hoja "pub.francos" los que coinciden con ese dato y pintarlos pero en la hoja "borrofroyvaca" y solo en las columnas "G" y "N" que son las que contienen el "*", de esa forma me quedarian pintados los "*".
    Espero ahora haberme explicado bien, igualmente nuevamente gracias.
    Saludos, atte juanpl206.
  10. Gerson Pineda

    Gerson Pineda Moderador Staff AyudaExcel

    Registrado:
    30 Mar 2009
    Mensajes:
    6.869
    Me Gusta recibidos:
    607
    Género:
    Masculino
    Hola juanpl206

    Disculpa por ver tu tema hasta hoy, pero he estado muy entretenido en mis asuntos... revisa el adjunto, prueba y comentas porfavor

    PHP:
    Sub pintar_asterisco()
    Application.ScreenUpdating False

    On Error Resume Next

    uf 
    Range("E" Rows.Count).End(xlUp).Row

    For Each cel In Range("E11:E" uf)
        
        
    With Sheets("PUB.FRANCOS")
        
        
    Set leg = .Columns("A").Find(What:=celLookIn:=xlValues_
        Lookat
    :=xlWhole)
        
    Set leg2 = .Columns("A").Find(What:=Cells(cel.Row"L"), _
        LookIn
    :=xlValuesLookat:=xlWhole)
        
    Set rango = .Range(.Cells(leg.Row"C"), .Cells(leg.Row"I"))
        
    Set rango2 = .Range(.Cells(leg2.Row"C"), .Cells(leg2.Row"I"))
        
        If 
    leg Is Nothing Then
            
    GoTo gp
        
    Else
            
    WorksheetFunction.CountIf(rangoRange("E9"))
            If 
    v Then Cells(cel.Row"G").Interior.ColorIndex 6
        End 
    If
        
        If 
    leg2 Is Nothing Then
            
    GoTo gp
        
    Else
            
    v2 WorksheetFunction.CountIf(rango2Range("E9"))
            If 
    v2 Then Cells(cel.Row"N").Interior.ColorIndex 6
        End 
    If

    gp:
    End With

    Next

    Set leg 
    Nothing
    Set leg2 
    Nothing
    Set rango 
    Nothing
    Set rango2 
    Nothing

    Application
    .ScreenUpdating True
    End Sub

    Saludos

    Adjuntos:

  11. juanpl206

    juanpl206 Usuario

    Registrado:
    16 Dic 2008
    Mensajes:
    44
    Me Gusta recibidos:
    0
    Hola Catracho, nuevamente mil gracias por responder y no importa el tiempo que tardas vos o cualquier otro forista en dar una solucion, calcula que uno lo que menos quiere es pretender una respuesta inmediata, yo lo veo de este modo, ustedes tardan dias en dar una solucion, pero sin ella yo seria esclavo de mi trabajo eternamente, prefiero ser paciente y saber que alguien me puede dar una gran mano a exigir que se apuren a darme una solucion y quedarme con las manos vacias.
    Volviendo al tema, te pasaste con la solucion que me entregaste, es justo lo que necesitaba, podes dar por cerrado el tema y de verdad muchisimas gracias por tu ayuda, me ahorras incontables horas de trabajo que no sabes lo que significa para mi.
    Atte juanpl206.
  12. Gerson Pineda

    Gerson Pineda Moderador Staff AyudaExcel

    Registrado:
    30 Mar 2009
    Mensajes:
    6.869
    Me Gusta recibidos:
    607
    Género:
    Masculino
    Pues que bueno que te funcione!

    Saludos
Estado del tema:
Cerrado para nuevas respuestas

Compartir esta página