VBA Excel 2-Dimensional Arrays

J'ai essayé de trouver la façon de déclarer un tableau en 2 Dimensions, mais tous les exemples que j'ai trouvé jusqu'à présent sont déclarées avec un ensemble d'entiers. Je suis en train de créer un programme qui va utiliser les deux 2-Dimensions des tableaux, puis à effectuer des opérations simples sur ces tableaux (comme la recherche de la différence, ou pour cent). Les tableaux sont peuplées par des chiffres dans des feuilles de calcul Excel (un ensemble de nombres est sur la feuille "Sheet1" et un autre est sur la Feuille2, les deux ensembles ont le même nombre de lignes et de colonnes).

Car je ne sais pas combien de lignes ou de colonnes il y a j'allais utiliser des variables.

Dim s1excel As Worksheet
Dim s2excel As Worksheet
Dim s3excel As Worksheet
Dim firstSheetName As String
Dim secondSheetName As String
Dim totalRow As Integer
Dim totalCol As Integer
Dim iRow As Integer
Dim iCol As Integer

Set s1excel = ThisWorkbook.ActiveSheet

' Open the "Raw_Data" workbook
Set wbs = Workbooks.Open(file_path & data_title)
wbs.Activate
ActiveWorkbook.Sheets(firstSheetName).Select
Set s2excel = wbs.ActiveSheet

' Find totalRow, totalColumn (assumes there's values in Column A and Row 1 with no blanks)
totalRow = ActiveSheet.Range("A1").End(xlDown).Row
totalCol = ActiveSheet.Range("A1").End(xlToRight).Column

Dim s2Array(totalRow, totalCol)
Dim s3Array(totalRow, totalCol)

For iRow = 1 To totalRow
    For iCol = 1 To totalCol
        s2Array(iRow, iCol) = Cells(iRow, iCol)
    Next iCol
Next iRow

ActiveWorkbook.Sheets(secondSheetName).Select
Set s3excel = wbs.ActiveSheet

For iRow = 1 To totalRow
    For iCol = 1 To totalCol
        s3Array(iRow, iCol) = Cells(iRow, iCol)
    Next iCol
Next iRow

Lorsque je tente d'exécuter ce que je reçois une erreur de compilation à l' "Dim s2Array(totalRow, totalCol)" dire qu'une expression constante est nécessaire. La même erreur se produit si je le change pour "Dim s2Array(1 À totalRow, 1 À totalCol)". Car je ne sais pas ce que les dimensions sont de l'aller je ne peux pas le déclarer comme "Dim s2Array(1, 1)" parce que je vais obtenir un hors-limites d'exception.

Merci,

Jesse Smothermon

source d'informationauteur Jesse Smothermon