View Single Post
 
Old 10-07-2013, 12:18 PM
BobBridges's Avatar
BobBridges BobBridges is offline Windows 7 64bit Office 2010 32bit
Expert
 
Join Date: May 2013
Location: USA
Posts: 700
BobBridges has a spectacular aura aboutBobBridges has a spectacular aura about
Default

These are just ideas, Barbara:

2) I remember looking at that original we worked on and thinking that it's an awful lot of detail. It shouldn't take 4 whole minutes to load and calculate, but then I assume the real worksheet has a lot more to do; what we looked at is probably just a sample, right?

But why? I mean, who needs to know the check-in time for each of those employees for every single day? Who, even if the information is provided, will actually pay attention to the details, and why?

Without knowing that I can't really offer an opinion, but I can't help suspecting that there are ways to reorganize the data, or to offer selected subsets of it, so that it'll work a lot faster. For example, if certain managers are looking at the info for just their own subordinates, then why have all the data on one enormous worksheet? Maybe each could have a smaller (and therefore faster) worksheet that looked up just his own people's data.

1) But a really effective change would be to for the database's administrator—that's you, I expect—occasionally to convert the lookups for past days to literal data. The date is in the column, right? So every week or so, go in there, copy all the data for the past weeks (columns) and paste-special as values; the VLOOKUPs, SUMPRODUCTs, all the formula will be converted to literal values and the only lookups and calculations left will be the ones for the future columns, which you carefully left unconverted. I'm confident you'll find that makes a big difference to the load time. This is assuming, of course, that once you have a check-in time for a particular date, it won't change thereafter. If you know you sometimes get data entered late, just leave a week unconverted an extra week, or whatever it takes until you're sure its data have settled down. And if you ever do have to change a check-in time after you've already converted it to values, then you'll just have to change in two places, that's all, ie on both sheets. But that won't happen very often, unless I'm misunderstanding the purpose of this thing.

2) But I repeat, I wonder about the purpose of the thing anyway (see above).

3) If you want to get fancy, you could do something with VBA; it might give you the best of both. I'm thinking of a Worksheet_Change subroutine that would spot changes in the first sheet and respond by writing them to the proper place on the second sheet at the same time. Then the second sheet would never have to do any lookups at all (so it would load fast), and yet any post-dated updates would still take place automatically. But without knowing who's going to be looking at this, and it what form, it's hard for me to know whether that's a good idea.
Reply With Quote