Salve a tutti, ho la seguente matrice su Excel:
A B C D E F G
15 5
16 1 4 7 2 5
17 1 4 7 2 5
18 1 4 7 2 5
19 1 4 7 2 5
20 1 4 7 2 5
...
27 0
E il codice VBA è il seguente:
codice:
Sub SommaPerimetro()
Dim A(100, 100) As Double
Dim Dimensione As Integer
Dim Altezza As Integer
Dim I As Integer
Dim H As Integer
Dim Somma As Double
Dimensione = Cells(15, 1).Value
For I = 1 To Dimensione
For H = 1 To Dimensione
A(H, I) = Cells(H + 15, I).Value
Next H
Next I
Somma = 0
For I = 1 To Dimensione
For H = 1 To Dimensione
Somma = Somma + A(16, I) + A(H + 15, 1) + A(H + 15, Dimensione) + A(15 + Dimensione, I)
Next H
Next I
Cells(27, 2).Value = Somma
End Sub
Praticamente dalla cella 15,A dovrebbe prendere la dimensione della matrice, memorizzare le celle all'interno della variabile con indici A(H, I) [lo so che questo passaggio è inutile ma devo farlo] e poi sommare il lato superiore il lato inferiore lato destro e lato sinistro [il perimetro insomma].
Però come risultato mi da 0, come vedete nella cella 27, B 
Potreste spiegarmi cosa sbaglio?