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.