Starting from col 1 when char gets to the end of col 0

So, for some time, I’ve tried to make a program in which a char scrolls across a 16x2 LCD and when it gets to the end of the first column, it starts again from the second. Here is what I’ve got so far:

#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 20, 4);

void setup() {
  // put your setup code here, to run once:
  lcd.init();
  lcd.backlight();
  lcd.setCursor(0, 0);
}

void loop() {
  // put your main code here, to run repeatedly:
 
  for (int i = 0; i < 32; i++) {
    if (i >= 16) {
     for (int j = 0; j<16; j++) {
      lcd.clear();
      lcd.setCursor(j, 1);
 lcd.print("V");  
     delay(500);
     }
    }
    else {
     lcd.clear();
      lcd.setCursor(i, 0);
      lcd.print("V");
   delay(500);
    }
  }
}

But there is a little problem: when the char (“V” in this case) gets to the end of col 0, it does what it’s intended to do and starts again from col 1, but when it gets to the end of col 1, it doesn’t start again from col 0, but instead, it repeats col 1 over and over again.
Can you please help me to get this working?
Any bit of help is very much appreciated.
Thanks.