Ayuda macros excel!

Hola! Generalmente no suelo molestar a la comunidad internetera con dudas, pero esta vez estuve horas tratando de descifrar qué es lo que causa el bendito error que me devuelve VB al ejecutar esta macro de Excel. La cuestión es la siguiente: Tengo 2 hojas de cálculo, 1) ListadoNuevo, que contiene una lista de precios que en la columna J (n°10) marca si ha habido un cambio de precio o es un producto nuevo (en ese caso otorga un número mayor que cero: 3 si cambió, 33 si es nuevo, 0 si se mantiene igual). 2) ListadoVariaciones, que es la hoja en la que supuestamente deberían mostrarse los resultados de esta macro. La cuestión es rastrear en Listado nuevo productos (filas) con una celda de columna J cuyo valor sea mayor a 0 (o sea, que haya habido un cambio de precio o ingreso de producto) y copiar esa línea en la hoja ListadoVariaciones. El problema surge al querer usar Cells(...,...) Me dice como si el contenido de la celda fuera nulo -provocando que el bucle IF nunca dé TRUE- cuando no es así (la celda está llena! ), y también, al usar el método Select  con Cells, es decir Cells(...,...).Select da error 1004! Les estaría muy agradecido si lograran resolver mi problema. Aquí abajo les copio el código correspondiente. Muchas Gracias!
For N = 2 To 10
'Va a la hoja ListadoNuevo
 Sheets("ListadoNuevo").Select
'se fija si la celda corresp a Var (columna J, o sea la col 10)
'de la fila actual es mayor a 0 (o sea, si cambió su precio/es nuevo)
 If Cells(N, 10) > 0 Then
  'si es así (cambió/es nuevo) selecciona la fila entera, la copia y la
'pega en el listado de variaciones
  Worksheets("ListadoNuevo").Rows(N).Select
  Selection.Copy
  Sheets("ListadoVariaciones").Select
  Cells(N, 10).Select
  ActiveSheet.Paste
 End If
 Next N
Sheets("ListadoVariaciones").Select

1 respuesta

Respuesta
1
Sin ponerme a probar en detalle, creo que se trata de un error que presentan algunas versiones cuando se hace ref a la celda sin ref a su hoja.
Probá colocando ActiveSheet delante de Cells:
If ActiveSheet.Cells(N, 10) > 0 Then
Comentame si esto lo resolvió sino la probaré en detalle.
Te recuerdo que la consulta sigue abierta. Si el tema quedó resuelto debes finalizarla
Sdos
Elsa

Añade tu respuesta

Haz clic para o
El autor de la pregunta ya no la sigue por lo que es posible que no reciba tu respuesta.

Más respuestas relacionadas