我使用下面的代码将表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列的最佳方法是什么?
答案 0 :(得分:3)
写一个快速公式并解决公式结果。
PullData.Range("G2:G" & lrA - 6).Formula = "=F2*E2"
PullData.Range("G2:G" & lrA - 6) = PullData.Range("G2:G" & lrA - 6).Value
如果您不想编写公式,请创建一个数组并循环遍历存储各个行乘法运算的结果。
答案 1 :(得分:2)
您也可以使用Autofill
PullData.Range("G2") = "=F2*E2"
PullData.Range("G2").Autofill Destination:=PullData.Range("G2:G" & lrA-6)
答案 2 :(得分:1)
请使用此代码:
For i = 2 To lrA - 6
PullData.Range("G" & i).Value = PullData.Range("F" & i).Value * PullData.Range("E" & i).Value
Next i
希望得到这个帮助。