使用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
希望这个帮助。