尝试,
Option Explicit
Sub Macro10()
Dim arr As Variant, i As Long, lr As Long
arr = Array(37, 7, 6, 17, 18, 19, 20, 21)
With Worksheets("sheet2")
For i = 1 To 8
lr = Worksheets("sheet1").Cells(.Rows.Count, arr(i - 1)).End(xlUp).Row
lr = application.max(lr, 2)
.Range(.Cells(2, i), .Cells(lr, i)).Formula = _
"=value(" & Worksheets("sheet1").Cells(2, arr(i - 1)).Address(0, 0, external:=True) & ")"
Next i
End With
End Sub