du könntest TabShee1, TabSheet2, usw... in ein Array packen und SynEdit1, SynEdit2, ... in ein zweites Array packen.
und dann das ganze mit einer for-Schleife durchgehen.
Delphi-Quellcode:
for i:=0 to Length(TabSheet_array)-1 do
begin
if PageControl1.ActivePage = TabSheet_array[i] then
SynEdit_array[i].Undo;
end;