hi everyone,

it's my first approach to VBA, so please be patient :-)

But back to business.

The below code shows error 9 on line:
worksheets(idx).activate

Could you please have a look and advise how to solve this issue?

Code:
Public Function UpdateRiskFigures()


Dim idx As Integer
Dim startDate As Integer
Dim Dates() As Integer
Dim count As Integer
Dim Cpties() As String
Dim FGRNames() As String
Dim idy As Integer




ReDim Cpties(0 To count)
    Do While Not IsEmpty(Range("FGROverview").Offset(0, count))
    count = count + 1
    Loop
    
count = count - 1
ReDim Cpties(0 To count)                                ' returns counterparties' column
For idy = 0 To count
    Cpties(idy) = Range("FGROverview").Offset(0, idy)
Next idy


ReDim Dates(startDate To count)
    count = count + 1

Dim FGRNames_Report As Range                         ' defines column C in report's tabs as a dynamic array

Set FGRNames_Report = Range("C21").Offset(count, 0)
    count = count + 1


For idx = startDate To UBound(Dates)                     'enters FX forward, IRS and MM figures into template table

    Select Case IsNumeric(idx)
        Case True
            Worksheets(idx).Activate
            count = count + 1
                Select Case Worksheets(idx).Range(FGRNames_Report).Value
                    Case "Foreign Exchange Forward"
                        Do Until Range("C21").Offset(count, 0) = "Interest RateSwap" Or "Money Market"
                            If Range("C21").Offset(count, 0) = Worksheets("Overview").Range(Cpties(idy)) Then _
                            Worksheets("Overview").Range(Cpties(idy)).Offset(Dates(idx - 1), 0) = Range("C21").Offset(count, 1)
                        Loop
                    Case "Interest RateSwap"
                        Do Until Range("C21").Offset(count, 0) = "Money Market"
                            If Range("C21").Offset(count, 0) = Worksheets("Overview").Range(Cpties(idy)) Then _
                            Worksheets("Overview").Range(Cpties(idy)).Offset(Dates(idx), 0) = Range("C21").Offset(count, 1)
                        Loop
                    Case "Money Market"
                        Do Until Range("C21").Offset(count, 0) = ""
                            If Range("C21").Offset(count, 0) = Worksheets("Overview").Range(Cpties(idy)) Then _
                            Worksheets("Overview").Range(Cpties(idy)).Offset(Dates(idx - 2), 0) = Range("C21").Offset(count, 1)
                        Loop
                End Select
          Case Else
            MsgBox "Report not compatible!"
    End Select
Next idx


Dim Cell As Range                                   'divides input by 1000000
Worksheets("Overview").Range("D10:AD78").Select
For Each Cell In Range("D10:AD78")
Cell.Value = Cell.Value / 1000000
Next


End Function
P.S. there are definately some other mistakes, but first things first...

huge thanks in advance!