It seems strange that this line would cause the error, as it is written calculates the product of the accumulated quantity (column 3 of b) and the value from column "D" (price) and stores it in the fifth column of "b" (an array) .
b(nRow, 5) = b(nRow, 3) * b(nRow, 4)
When you say so have changed the English headers to Arabic, nothing else changed within the sheet?
Sorry late question. Are you sure the values in columns are truely numeric?