This is one way to do it: use tokenize to fill $1- (this will overwrite the text the user said in the event), then use $* in the ban command so that this line is called for every token you had specified. Alternatively you could use a while loop so that you don't need to tokenize.

Code:
on *:TEXT:*:#Channel1,#Channel2,#Channel3:{
  if (!$nick(#,$nick,oh)) {
    inc -u3 %spam. [ $+ [ $nick ] ]
    if (%spam. [ $+ [ $nick ] ] == 7) {
      tokenize 32 #Channel1 #Channel2 #Channel3
      ban -ku45 $* $nick 2 Typing vertically is a form of flooding. I think you should review the rules
    }
  }
}