arr = .Range("A2", "I2" & lr)
probably needs to be:
arr = .Range("A2:I" & lr)
Also
arr(x, 8) = arr(x, 1) & arr(x, 2) & arr(x, 3) & arr(x, 5) & arr(x, 6) & arr(x, 7)
probably needs to be:
arr(x, 8) = arr(x, 1) & arr(x, 2) & arr(x, 3) & arr(x, 4) & arr(x, 5) & arr(x, 6) & arr(x, 7)
Enhancement:
Currently, if you look for ragu it'll come up with ID 5. It shouldn't.
So try:
arr(x, 8) = arr(x, 1) & "|" & arr(x, 2) & "|" & arr(x, 3) & "|" & arr(x, 4) & "|" & arr(x, 5) & "|" & arr(x, 6) & "|" & arr(x, 7)
instead.