Repetir una palabra desde la columna C hasta la H cuando esta aparezca en la columna B

Macro Repetir una palabra desde la columna C hasta la H cuando esta aparezca en la columna B

Tengo un listado de palabras

PBT Jamón y queso

PBT Salame y queso

Cuarto pollo con arroz

Milanesa con pure

Milanesa con ens de estación

Suprema con papas

Suprma con ens de estacion

Milanesa de soja con pure

Ensalada A

Ensalada B

Ensalada C

Ensalada Caesar

Ensalada especial

Dieta

Combo dietético

Menu vegano

Menu esp

Celiaco

Cabe destacar que dichas palabras se repiten varias veces en la planilla

2 respuestas

Respuesta
2

No me quedó muy clara tu consulta ;(

Entiendo que tendrás en algún lugar, de la misma hoja o en hoja diferente, esa lista que mostrás.

Y en una hoja de datos, si en col B aparece alguna de estas frases se la debe repetir desde la col C hasta la H.

Si esto es correcto, solo aclarame si te sirve con fórmula o lo querrás con macro.

Lo de la imagen yo lo pego desde otro libro y así se pega de varios libros a lo largo de la hoja en diferentes posiciones pero siempre las palabras se pegan en la columna b y yo necesito que se repitan hasta la columna h no más de allí- espero que me hayas entendido

A continuación como debería quedar

Te dejo la macro y la imagen donde se observa el resultado. Mi rango que se inicia en fila 2. Ajustá ese detalle según tu libro.

Sub rellenaFila()
'x Elsamatilde
Dim finx As Long, ultifila As Long
Dim cd As Range
'se recorre la col B hasta la última fila ocupada.
finx = Range(ActiveSheet.Range("A1").SpecialCells(xlCellTypeLastCell).Address).Row
'se filtra el rango por la col B (no vacío)
ActiveSheet.Range("$B$1:$H$" & finx).AutoFilter Field:=1, Criteria1:="<>" & ""
'se recorre el rango filtrado
ultifila = Range("B" & Rows.Count).End(xlUp).Row
For Each cd In Range("B2:B" & ultifila).SpecialCells(xlCellTypeVisible)
'si no se trata de fórmula o valores numéricos se repite el texto
    If cd.HasFormula = False Or Not IsNumeric(cd) Then
        Range("C" & cd.Row & ":H" & cd.Row) = Range("B" & cd.Row)
    End If
Next cd
'se quita el autofiltro
ActiveSheet.ShowAllData
End Sub

Esta muy bien pero si quisiera agregar más menu o palabras que debería hacer

Porque además justo el ejemplo que te di no figuran oitros datos en la columna b porque fue feriado desde día

Acá te dejo una cap de como es cuando están completos todos los datos por eso no me sirve esta macro ya que hay más datos en la columna B que son los nombres de quien hozo el pedido

La lista de comidas que puse anteriormente la tengo en el libro en la columna L y allí agrego las comidas nuevas no se si se entiende

La captura que te decía y como debería quedar

Por ejemplo netzsch es un nombre que también debo copiar a lo largo de las columnas mencionadas

Lo que pasa es que en tu primera muestra, debajo de las celdas de rojo en col B no había nada más. El resto de la info empezaba siempre en col C.

Pero si ahora vas a agregar otros nombres y NO los querés repetir todo cambia... y habrá que hacer otra macro.

Si no enviás imágenes 'reales' perdemos tiempo los 2. Decime con seguridad cuál será la información correcta o enviame tu hoja para trabajarla allí mismo.

Netzsch si se replica en el resto de las columnas.

Sdos!

Cómo te envío la hoja?

Mis correos aparecen en la sección Contactos de mi sitio que dejo al pie.

Aquí el corrector me lo modifica... veamos si te queda bien: cibersoftPUNTOarg de gmail

Sdos!

Buenas noches te envíe el libro

Ya te envié el libro con la macro ejecutada en hoja Nombres(2) y no se repiten los textos que NO se encuentran en la col L. En esa columna debes colocar todos los nombres que necesitas que se repitan.

Sdos!

Buenas tardes en mi mail aun no llego nada, desde ya muchas gracias y disculpa

No hice cambios en tu libro por eso no te lo volví a enviar.

Reitero mi respuesta. Si te fijas en la hoja y en la imagen que te envié ayer, NO se repiten los textos salvo aquellos que figuran en col L.

Descargá nuevamente el libro que te envié ayer y ejecutalo nuevamente. La macro se llama RellenaPlatos y se encuentra en el primer módulo.

Lo acabo de ejecutar nuevamente y todo bien por aquí.

Sdos!

Respuesta
1

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas