Utilizamos cookies propias y de terceros para mejorar la experiencia de navegación, y ofrecer contenidos y publicidad de interés.
Al continuar con la navegación entendemos que se acepta nuestra política de cookies.
Iniciar sesión Cerrar
Correo:
Contraseña:
Entrar
Recordar sesión en este navegador
Iniciar sesiónIniciar sesiónCrear cuentaCrear cuenta

Visual Basic para Aplicaciones - Se ha producido el error 13 en tiempo de ejecucion...

Life is soft - evento anual de software empresarial
  Imprimir  
Vista:
Me gusta: Está pregunta es útil y esta clara
0
No me gusta: Está pregunta no esta clara o no es útil
 
Asunto:

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

Autor:Jorge Ortiz Morales (1 intervención)
Fecha: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
Responder
Imágen de perfil de JuanC
Me gusta: Está respuesta es útil y esta clara
0
No me gusta: Está respuesta no esta clara o no es útil
 
Asunto:

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

Autor:JuanC juanc2942@gmail.com (394 intervenciones)
Fecha: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
Comentar