Cno will always be the last hidden column
For col = 1 To Columns.Count
Cno will always be the first hidden column
For col = Columns.Count to 1 Step -1
Dim Cno as Long 'Module level Variable
Sub Sequential()
'Shows columns in order from 1 to LastCol, If LastCol is Visible, shows Col 1 again.
Dim Col As Long
Dim LastCol
LastCol = Cells(1, Columns.Count).End(xlToleft).Column
'On first run when Workbook is Opened, Initialize Cno
If Cno = 0 Then
For Col =1 To LastCol
If Not Columns(Col).Hidden Then
Cno = Col
Exit For
End If
Next
End If
Columns(Cno). Hidden = True
'Increment Cno
If Cno < LastCol then
Cno = Cno + 1
Else: Cno = 1
End If
Columns(Cno).Hidden = False
End Sub