La Web del Programador: Comunidad de Programadores
https://www.lawebdelprogramador.com/foros/Visual-Basic-para-Aplicaciones/1339595-Se-ha-producido-el-error-13-en-tiempo-de-ejecucion.html

Se ha producido el error 13 en tiempo de ejecucion...

Se ha producido el error 13 en tiempo de ejecucion...

Publicado por Jorge Ortiz Morales (1 intervención) el 01/07/2012 20:03:10
Bueno mi consulta es por el siguiente problema:

Resulta que estoy realizando una macro para actualizar un existencia, en la empresa donde trabajo, y cree un codigo para que al ejecutarse me copie el rango de una hoja en otra hoja, el codigo es el siguiente:

Sub Existencia_click()

Hoja1.Select

"En esta seccion consigo que me filtre los datos de la hoja origen, ya que son mas de 14,000 filas le puse un filtro para que solo active las filas con la condicional 1."

With ActiveWorkbook.Worksheets("Existencia Inicial").Sort
.SetRange Range("F2:F15000")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply

End With

Sheets("Existencia Inicial").Select
ActiveSheet.Range("$F$2:$F$15000").AutoFilter field:=1, Criteria1:="<>"

"Aqui inicio el codigo para copiar intentar copiar las celdas de una hoja a otra"

Hoja1.Activate
If Hoja1.Range("F3:F5000") = 1 Then <--- Esta es la linea que me genera el error:"Se ha producido el error 13 en tiempo de ejecucion: No coinciden los tipos"

Hoja1.Range("B3:B15000").Copy
Hoja5.Select
Hoja5.Range("Q1").Formula = "=counta(RC[-13]:R[5999]C[-13])+1"
INI = Hoja5.Range("Q1")
FIN = Hoja5.Range("O1")
INI2 = "C" & INI
FIN2 = ":C" & FIN
rang1 = INI2 + FIN2
Hoja5.Activate
Hoja5.Range(rang1).Value = Hoja1.Range("B3:B15000").Value
Application.CutCopyMode = False

End If


End Sub
Imágen de perfil de JuanC

Se ha producido el error 13 en tiempo de ejecucion...

Publicado por JuanC (565 intervenciones) el 03/07/2012 22:04:06
el error está más que claro: estás comparando un rango con un valor numérico (tipos diferentes)
deberías comparar el valor de cada celda del rango con el valor constante...
un bucle For Each ... Next puede ser una solución...

Saludos, desde Baires, JuanC
Imágen de perfil de Eleazar Cruces

Se ha producido el error 13 en tiempo de ejecucion...

Publicado por Eleazar Cruces (1 intervención) el 17/11/2018 03:44:53
Hola, no soy programador, He visto en algún foro que deberías usar una fórmula matricial.
Dejo en manos de los expertos la solución.