Em vez de fazer um loop eu pensei em fazer da seguinte maneira:
DB.Execute "SELECT * INTO Tab_Marcacoes_2 FROM Tab_Marcacoes"
DB.Execute "DROP TABLE Tab_Marcacoes;"
DB.Execute "CREATE TABLE Tab_Marcacoes " & "(CodEmpresa TEXT(4));"
DB.Execute "ALTER TABLE [Tab_Marcacoes] ADD COLUMN Codigo TEXT(8);"
DB.Execute "ALTER TABLE [Tab_Marcacoes] ADD COLUMN Relogio TEXT(2);"
DB.Execute "ALTER TABLE [Tab_Marcacoes] ADD COLUMN Data DATE;"
DB.Execute "ALTER TABLE [Tab_Marcacoes] ADD COLUMN Hora TEXT(5);"
DB.Execute "ALTER TABLE [Tab_Marcacoes] ADD COLUMN SetorMarc TEXT(60);"
DB.Execute "INSERT INTO Tab_Marcacoes SELECT * FROM Tab_Marcacoes_2;"
DB.Execute "DROP TABLE Tab_Marcacoes_2;"
Dessa forma eu consegui alterar o tamanho do Campo Código de 6 para 8 caracteres
Apesar disso funcionar, eu tenho tabelas com mais de 50 Campos, então fica meio complicado pra criar a tabela novamente
bom, se ainda alguem tiver alguma solução melhor eu fico no aguardo