@henrik2h -- as SamT said, the loop will not be the performance issue
I would suggest forgetting about messing with arrays and use Excel as Excel. Keep it as simple as possible
As example, this macro does not use arrays, Transpose(), or anything too complicated. It just puts data into worksheets where its supposed to go
Since there is no sample workbook you can provide, all anyone can do is suggest possible techniques for you to modify
Option Explicit
Sub OneMoreTime()
Dim iRow As Long, iCol As Long
Dim R1 As Range, R2 As Range
Set R1 = Worksheets("Sheet1").Cells(1, 1).CurrentRegion
Set R2 = Worksheets("Sheet2").Cells(1, 1).CurrentRegion
Application.ScreenUpdating = True
For iCol = 1 To R1.Columns.Count
For iRow = 1 To R1.Rows.Count
Worksheets("Sheet3").Cells(iCol, iRow).Value = R1.Cells(iRow, iCol).Value * R2.Cells(iRow, iCol).Value
Next iRow
Next iCol
Application.ScreenUpdating = False
End Sub
Look at the attachment and follow the code