¿Recorrer una matriz de datos para encontrar uno distinto en Excel con macros?

Estoy programando con macros en Excel. Estoy intentando recorrer una matriz para compararlo con otro dato y si este es distinto que me lo copie en otra casilla.

Ahora mismo tengo esto:

Sub deteccion()

  Dim contColum As Long
  Dim contFila As String
  Dim dato As String
  Dim x As Long
  x = 0
  contFila = 28
  Do While (x = 0)
         contColum = 44
         contFila = contFila + 1
         Do While (x = 0 & contColumn <> 62)
             dato = Sheets("Datos y tablas").Cells(contFila, contColum)
             If (dato <> Sheets("Datos y tablas").Cells(32, 39)) Then
             Sheets("Datos y tablas").Cells(29, 42) = dato
             x = 1
             Else

             End If
            contColum = contColum + 1
         Loop
   Loop
End Sub

Sin embargo no me sale del segundo bucle. No sé si es que no detecta bien que el contColumn llega a 62 o qué sucede.

2 Respuestas

Respuesta
1

[Hola

Lo que hace "&" es concatenar, asumo que lo que querías poner es "And", reemplaza y comentas.

Abraham Valencia

PD: Por si acaso, no he revisado el código en su totalidad, he ido directo al problema evidente

Acabo de probarlo y sigue sin irme, no sale nunca del segundo bucle. 

Puede que no este bien hecho el Do while o no lo haya entendido bien. Quiero que cuando x=1 o contColumn=62 me salga del bucle. A lo mejor no lo he expresado bien pero no tengo mucha idea de como ponerlo, hace demasiado que no programo y además, hace un día que estoy aprendiendo con esto de macros en excel. jajaja

Pues prueba no con "And" sino con "Or"

Abraham Valencia

Respuesta

Estos ejemplos

https://www.programarexcel.com/2013/05/macro-vba-recorre-filas-busca-y-copia.html

https://youtu.be/kiXoJ0hSblA

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas