Crear combinaciones posibles entre dos columnas

Tengo 2 columnas

En la columna "H" tengo una lista de platos principales

En la coumn "I" tengo las guarniciones

Necesito que en la columna "J" me de un listado de todas las combinaciones posible de plato + guarnición

1 respuesta

Respuesta
2

Prueba con esta macro

Sub combinar_platillos()
Set datos = Range("h1").CurrentRegion
With datos
    r = .Rows.Count
    Set datos = .Rows(2).Resize(r - 1)
    r = .Rows.Count
    x = 1
    For i = 1 To r
        principal = .Cells(i, 1)
        For j = 1 To r
            guar = .Cells(j, 2)
            If principal = vbNullString Then GoTo salida
            If guar = vbNullString Then Exit For
            Range("j" & x) = principal & " " & guar
            x = x + 1
        Next j
    Next i
End With
salida:
End Sub

Donde la pego?? En la hoja o un módulo?

presionas alt+f11

Te vas a insertar, seleccionas modulo y hay pegas la macro, la corres con F5 o creando un boton en la hoja y enlazandolo con la macro

¡Gracias! Me super sirvió me estaba volviendo loco

Buenas noches, la macro funciona a la prefeccion pero me pone un espacio entre ambas se puedo modificar para que no lo ponga ya que en los platillos ya tengo un guion bajo que actúa como separador

Esta líneas es la que arma la combinación, las comillas separadas representan el espacio en blanco solo haz cualquiera de los cambios que marco abaji

Range("j" & x) = principal & " " & guar
sustituye por cualquiera de estas opciones
Range("j" & x) = principal & "" & guar
Range("j" & x) = principal & guar
Range("j" & x) = principal + guar

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas