Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Public DataLen As String 'number of rows in the dataset including the headers, gets autoset in the resetbuttons sub
- Public Const DataSheet As String = "Data"
- Public Const ChartSheet As String = "Crunch"
- Public Const TableName As String = "Table_DB2_DB2_VMI_PerformanceCounter_TraceView_DB2" 'Table name in the datasheet
- Public Sub ResetButtons()
- On Error GoTo Error_Handler
- Dim t As ListObject
- Dim i As Long
- Dim b As Button
- Set t = Sheets(DataSheet).ListObjects.Item(TableName)
- DataLen = t.DataBodyRange.Rows.Count + 1
- Debug.Print DataLen
- For Each b In Sheets(ChartSheet).Buttons
- If b.TopLeftCell.Cells.Row = 1 And b.TopLeftCell.Cells.Column = 18 Then
- 'b.Name = "btnReset"
- b.Caption = "Reset Buttons to Data Columns"
- b.OnAction = "ResetButtons"
- 'Debug.Print b.Name
- Else
- b.Caption = "" 't.ListColumns.Item(i).Name
- b.OnAction = "" '"Sheet1.s" & Format(i, "00") & "_Click"
- End If
- Next b
- For i = 2 To t.ListColumns.Count
- 'Debug.Print t.ListColumns.Item(i).Name
- For Each b In Sheets(ChartSheet).Buttons
- If b.TopLeftCell.Cells.Row = i Then
- 'Debug.Print b.Name
- b.Caption = t.ListColumns.Item(i).Name
- b.OnAction = "s" & Format(i, "00") & "_Click"
- End If
- Next b
- Next i
- Error_Exit:
- Exit Sub
- Error_Handler:
- MsgBox "The following error has occured" & vbCrLf & vbCrLf & _
- "Error Number: " & Err.Number & vbCrLf & _
- "Error Source: ResetButtons" & vbCrLf & _
- "Error Description: " & Err.Description _
- , vbOKOnly + vbCritical, "An Error has Occured!"
- Resume Error_Exit
- End Sub
- Public Function ChangeChart(argCol As Long)
- Dim chart As ChartObject
- For Each chart In Sheets(ChartSheet).ChartObjects
- Dim ser As Series
- chart.chart.ChartTitle.Text = Sheets(DataSheet).Cells(1, argCol).Value
- For Each ser In chart.chart.SeriesCollection
- 'Debug.Print ser.Formula
- ser.Formula = "=SERIES(," & DataSheet & "!$A$2:$A$" & DataLen & "," & DataSheet & "!$" & ColLtr(argCol) & "$2:$" & ColLtr(argCol) & "$" & DataLen & ",1)"
- Next ser
- Next chart
- End Function
- Public Function ColLtr(ByVal iCol As Long) As String
- ' shg 2012
- If iCol Then ColLtr = ColLtr((iCol - 1) \ 26) & Chr(65 + (iCol - 1) Mod 26)
- End Function
- Public Sub s02_click()
- ChangeChart 2
- End Sub
- Public Sub s03_click()
- ChangeChart 3
- End Sub
- 'This goes on for about 99 buttons.
Advertisement
Add Comment
Please, Sign In to add comment