that one is a tougher one... only because you have 12 formulas...
I think that I would figured out how to offset the report, so that column 1 is always the starting column (the from date). I realize that this is a harder task, but will make the report for years to come.
Since I don't know how the formulas are designed, I can't really assist with that, but a simple idea would be something like:
local datetime sDate := cDate(YEAR{?start}, MONTH({?start}), 1); //forcing for the entire month, you could if you want just set the date to the parameter
local datetime eDate;
//formula specific
sDate := DATEADD("M", x, sDate); //add the number of months that this formula represents 0-11
eDate:= DATEADD("M", 1, sDate);
eDate:= DATEADD("d", -1 eDate);
if {table.date} in sDate to eDate then
//is visible
else
//is not visible (could be as simple as "" )
for the column titles you would just need the part through the sDate := dateadd... and then:
totext(MONTH(sDate), 0,"") + "/" + totext(YEAR(sDate), 0,"")
HTH