¿Cómo cambiar los valores invertidos de una columna de forma instantánea?

Solicito su ayuda para cambiar el orden de los importes capturados en la columna "D" ya que algunos NO coinciden con la columna "B", en la siguiente imagen resalto algunas celdas donde los valores están invertidos. Necesito su valiosa ayuda para resolver esta lío de manera rápida y efectiva ya que son más 1000 registros y me tardaría mucho tiempo en hacerlo manualmente. Es importante mencionar que los valores están vinculados y deben mantenerse sin importar la celda donde se encuentre el valor.

1 respuesta

Respuesta
2

Puedes compartir tu archivo en google drive o enviarlo a mi correo.

[email protected]

¡Gracias por la ayuda! 

He enviado a su correo el archivo. 

¡Saludos!

De acuerdo a lo siguiente:

Sería mejor evaluar los valores de la siguientes columnas:

CONTRATO, POLIZA, CONCEPTO DE PAGO Y FACTURA de la hoja "RESUMEN" e ir a la hoja "PARA FILTRO" y copiar el importe de la columna "O" y pegarlas en la columna "AU" de la hoja "RESUMEN", sin que se rompa el vínculo.

Ejecuta la siguiente macro:

Sub copiaceldas()
  Dim sh1 As Worksheet, sh2 As Worksheet
  Dim dic As Object
  Dim i As Long, j As Long
  Dim cad As String
  Dim a As Variant, b As Variant
  '
  Application.DisplayAlerts = False
  '
  Set sh1 = Sheets("RESUMEN")
  Set sh2 = Sheets("PARA FILTRO")
  Set dic = CreateObject("Scripting.Dictionary")
  '
  If sh1.AutoFilterMode Then sh1.AutoFilterMode = False
  If sh2.AutoFilterMode Then sh2.AutoFilterMode = False
  '
  a = sh2.Range("A1", sh2.Range("Y" & Rows.Count).End(3)).Value
  For i = 10 To UBound(a, 1)
    cad = a(i, 11) & "|" & a(i, 13) & "|" & a(i, 15) & "|" & a(i, 16) & "|" & a(i, 22)
    dic(cad) = i
  Next
  '
  b = sh1.Range("A1", sh1.Range("AA" & Rows.Count).End(3)).Value
  For i = 2 To UBound(b, 1)
    If b(i, 11) <> "" Then
      cad = b(i, 11) & "|" & b(i, 22) & "|" & b(i, 25) & "|" & b(i, 26) & "|" & b(i, 27)
      If dic.exists(cad) Then
        j = dic(cad)
        sh2.Range("O" & j).Copy sh1.Range("AU" & i)
      End If
    End If
  Next
End Sub

En esta línea, puedes cambiar la columna origen y la columna destino:

sh2.Range("O" & j).Copy sh1.Range("AU" & i)

[No olvides valorar...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas