Excel screenupdating not working
When working in VBA, the trick is to read/write data in chunks. Then we read the next batch of 125 records, and so on, until we hit empty cells.
We had a real life example, where we needed to read in 1000 records off a worksheet, each of 20 cells, do some calculations, and write back 14 cells at the end of each record. So far we've only made 8 (input) hits on the worksheet.
Take care NOT to add a pivottable to a slicer for which the field in question is not used in that pivottable, because a slicer can operate on a field that isn't included in the pivottable itself.
It will filter your pivottable and the pivot itself gives no clue that it was filtered (other than the slicer).
If your situation differs (values in slicercache 1 might be missing in slicercache 2 or the other way around), you will need to take special precautions.
The first action needed is to make sure each slicer is connected to all relevant pivottables belonging to its pivotcache.
However, it frequently happens that pivottables do not share a pivotcache, but still need to be in sync, for instance if your slicer is filtering on a reporting period such as Year, Quarter or Month.
In 20, if a cell is blank then the corresponding value of the array of series data is blank.
In 2007, an #N/A error also leads to a blank in the data array, whereas in 2003, an #N/A error is represented by “Error 2042”, VBA-speak for the error. Count To 1 Step -1 If Not Is Empty(v YVals(i Pts)) And Not Is Error(v YVals(i Pts)) _ And Not Is Empty(v XVals(i Pts)) And Not Is Error(v XVals(i Pts)) Then ' add label my Srs. Apply Data Labels _ Show Series Name:=True, _ Show Category Name:=False, Show Value:=False, _ Auto Text:=True, Legend Key:=False Exit For End If Next End With Next ' legend is now unnecessary Active Chart.
This is actually a nice way to handle labels for unplottable points, but the fact that the behavior is different than that of earlier versions leads to loss of functionality of existing code.
The way around this is to examine the values of the series.