I have a dashboard built in Excel which shows a list of jobs with planned time and actual time worked on them. This is to be displayed on a large screen in our workshop for supervisors to refer to in order to track jobs. The workbook uses ODBC links to an underlying database which refresh every 15 minutes. I have written VBA modules to calculate one of the fields in the dashboard and to run refresh all every 15 minutes from the point the workbook is opened.
The problem I have is that there are more fields in the dashboard than can be displayed on one screen. I therefore need to write a VBA module that scrolls the dashboard (like the departures board at an airport). I have written one but it creates an infinite loop which I am concerned will crash the workbook or prevent the "refresh all" code from running every 15 minutes.
The key requirements are as follows: 1) I need the code to start automatically once the "refresh all" code has run; 2) I need it to stop every 13 minutes so that the "refresh all" code can run successfully, or at least to run in a way that does not interfere with the "refresh all" code; 3) I need the screen to always show data in every row (ie the last screen in the loop should not show two or three lines of data and then 50 blank rows); 4) I need to be able to alter the time that the loop takes between scrolls based on user feedback; 5) I need to be able to alter how many rows that the loop jumps in each scroll (as I do not yet have the screens set up, so don't know how many rows will fit on the screen at the desired resolution). 6) The dashboard is filtered to exclude jobs with 0 actual hours (ie jobs that haven't started) and to only show jobs for the relevant department - the scrolling needs to work with these filters still in place
I've uploaded the workbook with the macros disabled and the ODBC links removed. If the existing VBA modules are not visible please let me know and I will upload them too.