Concatenar cada celda de rango con macros en excel
Quisiera concatenar en las celdas donde se encuentre( por valor o en blanco), todo se efectúa en la misma columna en este caso "D"
Ej: en la celda D2 tengo el valor por o esta en blanco
En la celda D3 esta el valor "peras"
En la celda D4 esta el valor "uvas"
En la celda D5 esta en blanco,
Entonces en la celda D2 debe quedar así (peras, Uvas) palabras separadas por coma,
Así sucesivamente en toda la columna, los rangos o cantidad de filas son diferentes.
Todo con vba
2 respuestas
Respuesta de Dante Amor
3
Respuesta de excelforo - Ismael Romero
Excelente Mtro Dante podrías proporcionarme una breve explicación de esta macro, Gracias - Cecilio Pérez Maqueda
Lee los datos desde la fila 3 y hasta la última celda con datos de la columna D, cada dato lo concatena enla variable "cad" y le agrega una coma. Después del ciclo le quita la última coma y el espacio y pone la cadena en la celda D2. No dudes en votar. - Dante Amor
Hola Dante, esta última solución que diste es interesante, pero no logro entender para que esta parte del código, si probando antes de esta línea ya lo resuelve. gracias una vez mas.u = h.Range("D" & Rows.Count).End(xlUp).Row On Error Resume Next With Range("D" & ini & ":D" & u) .SpecialCells(xlCellTypeBlanks).FormulaR1C1 = "=R[1]C" .Copy .PasteSpecial Paste:=xlPasteValues End With Application.ScreenUpdating = True Application.CutCopyMode = True Range("C2").Select - Adriel Ortiz Mangia
Es para cuando hay más de una n, la primera n queda vacía y con esas líneas lleno esa fila. - Dante Amor