' ============================================================ ' Module Name: Test_Cache ' Module Desc: Debug module to print cache contents to Test_Cache sheet ' Module Methods: ' - Test_PrintAllCaches ' - PrintM1CacheToSheet ' - PrintM1KukanDCacheToSheet ' - PrintM2CacheToSheet ' - PrintZ1CacheToSheet ' - PrintO1CacheToSheet ' ============================================================ ' Test Cache Module Sub Test_PrintAllCaches() Call RefreshM1Cache Call RefreshM1KukanDCache Call RefreshM2Cache Call RefreshZ1Cache Call RefreshO1Cache Dim ws As Worksheet On Error Resume Next Set ws = ThisWorkbook.Worksheets("Test_Cache") If ws Is Nothing Then Set ws = ThisWorkbook.Worksheets.Add ws.Name = "Test_Cache" End If On Error GoTo 0 ws.Cells.ClearContents Dim r As Long r = 1 ws.Cells(r, 1).Value = "M1 Cache" r = r + 1 Call PrintM1CacheToSheet(ws, r) r = r + 1 ws.Cells(r, 1).Value = "M1_KukanD Cache" r = r + 1 Call PrintM1KukanDCacheToSheet(ws, r) r = r + 1 ws.Cells(r, 1).Value = "M2 Cache" r = r + 1 Call PrintM2CacheToSheet(ws, r) r = r + 1 ws.Cells(r, 1).Value = "Z1 Cache" r = r + 1 Call PrintZ1CacheToSheet(ws, r) r = r + 1 ws.Cells(r, 1).Value = "O1 Cache" r = r + 1 Call PrintO1CacheToSheet(ws, r) ws.Columns.AutoFit End Sub Private Sub PrintM1CacheToSheet(ws As Worksheet, ByRef r As Long) If m1Cache Is Nothing Then ws.Cells(r, 1).Value = "Nothing" r = r + 1 Exit Sub End If ws.Cells(r, 1).Value = "Count: " & m1Cache.Count r = r + 1 Dim k As Variant For Each k In m1Cache.Keys Dim v As Variant v = m1Cache(k) ws.Cells(r, 1).Value = k ws.Cells(r, 2).Value = v(1) ws.Cells(r, 3).Value = v(2) ws.Cells(r, 4).Value = v(3) r = r + 1 Next k End Sub Private Sub PrintM1KukanDCacheToSheet(ws As Worksheet, ByRef r As Long) If m1KukanDCache Is Nothing Then ws.Cells(r, 1).Value = "Nothing" r = r + 1 Exit Sub End If ws.Cells(r, 1).Value = "Count: " & m1KukanDCache.Count r = r + 1 Dim d As Variant For Each d In m1KukanDCache.Keys ws.Cells(r, 1).Value = d r = r + 1 Dim inner As Object Set inner = m1KukanDCache(d) Dim f As Variant For Each f In inner.Keys ws.Cells(r, 2).Value = f r = r + 1 Dim arr As Object Set arr = inner(f) Dim g As Variant For Each g In arr.Keys ws.Cells(r, 3).Value = g r = r + 1 Next g Next f Next d End Sub Private Sub PrintM2CacheToSheet(ws As Worksheet, ByRef r As Long) If m2Cache Is Nothing Then ws.Cells(r, 1).Value = "Nothing" r = r + 1 Exit Sub End If ws.Cells(r, 1).Value = "Count: " & m2Cache.Count r = r + 1 Dim k As Variant For Each k In m2Cache.Keys ws.Cells(r, 1).Value = k r = r + 1 Dim inner As Object Set inner = m2Cache(k) Dim kanshu As Variant For Each kanshu In inner.Keys ws.Cells(r, 2).Value = kanshu r = r + 1 Dim innermost As Object Set innermost = inner(kanshu) Dim c As Variant For Each c In innermost.Keys ws.Cells(r, 3).Value = c ws.Cells(r, 4).Value = innermost(c) r = r + 1 Next c Next kanshu Next k End Sub Private Sub PrintZ1CacheToSheet(ws As Worksheet, ByRef r As Long) If z1Cache Is Nothing Then ws.Cells(r, 1).Value = "Nothing" r = r + 1 Exit Sub End If ws.Cells(r, 1).Value = "Count: " & z1Cache.Count r = r + 1 Dim k As Variant For Each k In z1Cache.Keys Dim v As Variant v = z1Cache(k) ws.Cells(r, 1).Value = k ws.Cells(r, 2).Value = v(0) r = r + 1 Next k End Sub Private Sub PrintO1CacheToSheet(ws As Worksheet, ByRef r As Long) If o1Cache Is Nothing Then ws.Cells(r, 1).Value = "Nothing" r = r + 1 Exit Sub End If ws.Cells(r, 1).Value = "Count: " & o1Cache.Count r = r + 1 Dim c As Variant For Each c In o1Cache.Keys ws.Cells(r, 1).Value = c r = r + 1 Dim inner As Object Set inner = o1Cache(c) Dim e As Variant For Each e In inner.Keys ws.Cells(r, 2).Value = e r = r + 1 Dim arr As Object Set arr = inner(e) Dim f As Variant For Each f In arr.Keys ws.Cells(r, 3).Value = f r = r + 1 Next f Next e Next c End Sub