Se necesita macro / VBA para encontrar, unir, copiar / pegar

  • Problema
  • Solución
  • Nota

Problema

Ok, he buscado y buscado y todavía no he encontrado el código para hacer exactamente lo que necesito.

La macro debe poder buscar cientos de celdas en la misma columna (hoja1) y si una celda de esa columna coincide con la primera celda de otra hoja de cálculo (Hoja2), la macro pega las siguientes celdas (de la misma fila en la hoja2) ) en la hoja 1 (misma fila pero columna diferente).

Así que básicamente estoy tratando de cortar el trabajo de hacer coincidir el texto de dos hojas de trabajo diferentes y copiar y pegar los datos relacionados en la misma fila.

Encontré esta macro como un módulo estándar (no estoy seguro de cuán útil sea, pero podría ser un punto de partida).

Opción explícita

Sub CopyData ()

Célula débil como rango

Dim rw tan largo

Para cada celda en las hojas de trabajo ("PTR"). Rango ("A: A"). Celdas

Si celda "" entonces

rw = Búsqueda (cell.Value)

Si rw 0 entonces

Hojas de trabajo ("PTR"). Células (cell.Row, "L"). Redimensionar (, 4) .Value = _

Hojas de trabajo ("Referencia"). Celdas (rw, "L"). Cambiar tamaño (, 4) .Valor

Terminara si

Terminara si

Siguiente

End Sub

Función de búsqueda (elemento como cadena) como larga

En error reanudar siguiente

Buscar = WorksheetFunction.Match (elemento, hojas de trabajo ("Referencia"). Rango ("A: A"),

Falso)

En error GoTo 0

Función final

Solución

Puedes hacerlo sin una macro.

Ponga la siguiente fórmula en B1 en la hoja 2

 = vlookup ($ A1, CELLREF-SHEET1, column (), false) 

La sintaxis es VLOOKUP (lookup_value, table_array, col_index_num, range_lookup)

Nota

Gracias a Excelguru por este consejo en el foro.

Artículo Anterior Artículo Siguiente

Los Mejores Consejos