VBA combina dos columnas de datos en una columna a través de una matriz y la muestra
Utilice mi siguiente código para satisfacer sus necesidades: Option?Explicit
Sub?YgB()
Dim?arr1,?arr2
arr1?=?Range(Cells(1,?1),?Cells(Rows.Count,?1).End(xlUp))
arr2?=?Range(Cells(1, ?2) ), ?Cells(Rows.Count, ?2).End(xlUp))
Celdas(Rows.Count, ?4).End(xlUp).Offset(1, ?0). UBound(arr1),?1)?=?arr1
Cells(Rows.Count,?4).End(xlUp).Offset(1,?0).Resize(UBound(arr2) ,? 1)?=?arr2
End?Sub
El primer paso es convertir el contenido de las columnas A y B en matrices. El principio es básicamente el mismo que el tuyo. es que uso Rows .count en lugar de su 65536 para garantizar un funcionamiento correcto en la nueva versión que puede admitir más de 1 millón de filas. Además, uso celdas (1, 1) en lugar de rango ("a1"), que es. Teóricamente un poco más rápido.
El segundo paso es almacenar la matriz en la siguiente celda disponible en la columna D. La genero directamente sin usar una nueva matriz.