clear; close; clc

nrMonths = 12; 
dataColumns = 12;
sz = [nrMonths dataColumns+2];   % Datenspalten +2 weil Spalten 1 und 2 "Jahr" und "Monat" enthalten

varTypes = {'datetime','datetime','double', 'double',...
    'double', 'double', 'double', 'double', 'double', 'double', 'double', 'double','double', 'double'};

% Spalten benennen
varNames = {'Jahr','Monat','Data_1', 'Data_2',...
    'Data_3', 'Data_4', 'Data_5', 'Data_6', 'Data_7', 'Data_8', 'Data_9', 'Data_10', 'Data_11', 'Data_12'};
% Ausgangstabelle T
T = table('Size',sz,'VariableTypes',varTypes,'VariableNames',varNames);

% Start-Jahr festlegen
% End-Monat beachten: Anzahl Monate sz(1,1) = 12  siehe Zeile 3: Endwert datetime(2000,12,31) also 12 Monate entfernt von Ausgangs datetime 
T.Jahr(:,1) = datetime(2000,01,31):calmonths(1):datetime(2000,12,31); % calmonths(1) 1-Monat-Schritte 

%  T.Jahr.Format  ist noch 'dd-MMM-uuuu', aendern zu "nur Jahr" uuuu
T.Jahr.Format = 'uuuu';
T.Monat(:,1) = datetime(2000,01,31):calmonths(1):datetime(2000,12,31);
% "nur Monat" MMM
T.Monat.Format = 'MMM';


yearsToAdd = 20;               % Tabellen für 2000 bis 2020 benoetigt
numIters = yearsToAdd + 1;     % Anzahl Iterationen für loop              
myTables   = cell(1, numIters);  % Cell Array, das die Tabellen fuer mehrere Jahre enthalten wird
for index = 1 : numIters
    myTables{index} = T;
    T.Jahr = T.Jahr(:,1) + calyears(1);  
end