使用Excel VBA乘以范围

我正在使用下面的代码来将数据从工作表RawImport拉到PullData。

Dim lrA As Integer lrA = RawImport.Range("B" & Rows.Count).End(xlUp).Row PullData.Range("A2:A" & lrA - 6).Value = RawImport.Range("G8:G" & lrA).Value PullData.Range("A2:A" & lrA).NumberFormat = "d mmm yyyy h:mm;@" PullData.Range("A:A").Columns.AutoFit PullData.Range("B2:B" & lrA - 6).Value = RawImport.Range("E8:E" & lrA).Value PullData.Range("C2:C" & lrA - 6).Value = RawImport.Range("C8:C" & lrA).Value PullData.Range("D2:D" & lrA - 6).Value = RawImport.Range("D8:E" & lrA).Value PullData.Range("E2:E" & lrA - 6).Value = RawImport.Range("B8:B" & lrA).Value PullData.Range("F2:F" & lrA - 6).Value = RawImport.Range("F8:F" & lrA).Value Application.Calculation = xlCalculationAutomatic Application.ScreenUpdating = True 

现在我想乘以E和F列(从第2行开始),并将结果添加到G列。 我试着在上面添加下面的代码

 PullData.Range("G2:G" & lrA - 6).Value = PullData.Range("F2:F" & lrA - 6).Value * PullData.Range("E2:E" & lrA - 6).Value 

但是在运行代码时出现Type Mismatch错误。 将数值相乘并赋值给G列的最好方法是什么?

写一个快速的公式,并解决公式的结果。

 PullData.Range("G2:G" & lrA - 6).Formula = "=F2*E2" PullData.Range("G2:G" & lrA - 6) = PullData.Range("G2:G" & lrA - 6).Value 

如果您不想编写公式,请创build一个数组并循环,存储各个行乘法运算的结果。

您也可以使用自动填充function

 PullData.Range("G2") = "=F2*E2" PullData.Range("G2").Autofill Destination:=PullData.Range("G2:G" & lrA-6) 

请使用以下代码:

 For i = 2 To lrA - 6 PullData.Range("G" & i).Value = PullData.Range("F" & i).Value * PullData.Range("E" & i).Value Next i 

希望这个帮助。