我有一个Excel电子表格,我想在其中查找列中的最后一个值,然后将其复制并粘贴到另一张纸上。
如下面的代码所示,它的工作方式是在循环结束时增加频率并将计算向右移动,以便为下一个频率值插入值。频率从0.05开始,每个循环以0.01递增,直到1.0。
在将值向右移动之前,我要计算一个范围的乘积之和的绝对和和平方根,如下面的代码所示。
MAX = 1502
Src = 0
N = 0
Freq = 0.05
Freqmax = 1
Op = ActiveSheet.Range("K2")
For Freq = 0.05 To Freqmax Step 0.01
For Src = 0 To MAX Step 1
Inp = ActiveSheet.Range("K" & 2 + Src)
Op = ma0 * Inp + ma1 * mx1 + ma2 * mx2 - mb1 * my1 - mb2 * my2
mx2 = mx1
mx1 = Inp
my2 = my1
my1 = Op
ActiveSheet.Range("$L$1").Value = "Output(" & Freq & ")"
ActiveSheet.Range("$M$1").Value = "Error(" & Freq & ")"
ActiveSheet.Range("$N$1").Value = "ErSQ(" & Freq & ")"
ActiveSheet.Range("L" & 2 + Src) = Op
ActiveSheet.Range("M" & 2 + Src) = ActiveSheet.Range("L" & 2 + Src) - ActiveSheet.Range("K" & 2 + Src)
ActiveSheet.Range("N" & 2 + Src) = ActiveSheet.Range("M" & 2 + Src) * ActiveSheet.Range("M" & 2 + Src)
Next
LastRow = ActiveSheet.Range("M" & Rows.Count).End(xlUp).Row
LastRow1 = ActiveSheet.Range("N" & Rows.Count).End(xlUp).Row
ActiveSheet.Cells(LastRow + 2, "M").Formula = "=SUMPRODUCT(ABS(M2:M" & LastRow & "))"
ActiveSheet.Cells(LastRow1 + 2, "N").Formula = "=SQR(SUMPRODUCT(ABS(N2:N" & LastRow1 & ")))"
LastValue = ActiveSheet.Range("N" & LastRow1).Value.Copy
Sheets("Sheet5").Activate
Range("A1").Select
ActiveSheet.Paste
ActiveSheet.Columns("L:N").Insert Shift:=xlToRight
Next
End Sub
我想将乘积和值(ActiveSheet.Cells(LastRow1 + 2, "N").Formula = "=SQR(SUMPRODUCT(ABS(N2:N" & LastRow1 & ")))"
)的平方根以及Freq
当前循环的频率()值复制到一个新的工作表中,如下所示。
我曾尝试这样做,但无济于事。谁能告诉我我该怎么做?
代替
LastValue = ActiveSheet.Range("N" & LastRow1).Value.Copy
Sheets("Sheet5").Activate
Range("A1").Select
ActiveSheet.Paste
和
Sheets("Sheet5").Range("A" & Sheets("Sheet5").Rows.Count).End(xlUp).Offset(1).Resize(, 2) = Array(Freq, ActiveSheet.Range("N" & LastRow1 + 2))
但是为了加快处理速度,您最好使用数组存储值并将它们仅在最后写入单元格中
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句