Technology Blogs by Members
Explore a vibrant mix of technical expertise, industry insights, and tech buzz in member blogs covering SAP products, technology, and events. Get in the mix!
cancel
Showing results for 
Search instead for 
Did you mean: 
Sruti_P
Participant
2,563
Introduction:

Most of the time in Analysis Office we use single query and multiple queries in multiple sheet. When two queries are used in same sheet of Analysis Office, one after another there may be a risk of overlapping of the crosstab if the data increases and we get a warning message in Analysis Office. Causing below error:


Overlap warning message


 

To overcome it we can write VB macro so the data can be presented without any issue.

 

The Crosstab1 can start at A5 cell whereas the Crosstab2 can start at A10000 as per the code the blank rows between this 2 Crosstab will be in hide and will get increased as the data increases in Crosstab1.

 

VB Code:

This Workbook:

Public Sub Workbook_SAP_Initialize()

' register callbacks

Call Application.Run("SAPExectueCommand", "RegisterCallback", "AfterRedisplay", "CallbackAfterRedisplay")

End Sub

 

Create a Module and write below code:

Public Sub Callback_AfterRedisplay()

Dim intGap As Integer

Dim intGap2 As Integer

Dim ws1 As Worksheet

Dim ws2 As Worksheet

Set ws1 = ThisWorkbook.Worksheets("Sheet1")

Set ws2 = ThisWorkbook.Worksheets("Sheet2")

If ws1 Is ActiveSheet Then

intGap = ThisWorkbook.Worksheets("Sheet1")

Worksheets(“Sheet1").Application.ScreenUpdating = False

Rows("1:9995").Select

Selection.EntireRow.Hidden = False

Rows(intGap & ":9999").Select

Selection.EntireRow.Hidden = True

Worksheets(“Sheet1").Activate

Worksheets("Sheet1").Application.ScreenUpdating = True

Else

intGap2 = ThisWorkbook.Worksheets("Sheet2")

Worksheets("Sheet2").Application.ScreenUpdating = False

Rows("1:9995").Select

Selection.EntireRow.Hidden = False

Rows(intGap2 & ":9999").Select

Selection.EntireRow.Hidden = True

Worksheets("Sheet2").Activate

Worksheets("Sheet2").Application.ScreenUpdating = True

End If

End Sub

 

Conclusion:

To overcome the overlap of 2 different queries in the same sheet we can use VB macro code, this code is not only for one sheet if the user is going on for 2 or 3 sheet, they can use ELSE IF loop to proceed the code and attain the result.
2 Comments
Labels in this area