Vba Excel:创建新行并插值
我正在寻找一个Excel宏,它能够通过列A(时间)并创建一个新行,其中每个整数都应该是。创建新行后,需要为该新行内插列D和E的值。该行也应高亮显示。最后,所有高亮显示的行都应该隐藏(这可以通过按单元格颜色过滤完成) 我遇到的最大问题是何时插入新行,因为它们之间的行数并不总是相同的。我曾考虑过比较相邻行中的单元格,但我不确定如何进行比较 下面是一张图片来帮助解释我需要什么。(减去隐藏的行)以下是您“最大问题”的代码。。。。我不确定“插值”部分需要什么数学:Vba Excel:创建新行并插值,vba,excel,Vba,Excel,我正在寻找一个Excel宏,它能够通过列A(时间)并创建一个新行,其中每个整数都应该是。创建新行后,需要为该新行内插列D和E的值。该行也应高亮显示。最后,所有高亮显示的行都应该隐藏(这可以通过按单元格颜色过滤完成) 我遇到的最大问题是何时插入新行,因为它们之间的行数并不总是相同的。我曾考虑过比较相邻行中的单元格,但我不确定如何进行比较 下面是一张图片来帮助解释我需要什么。(减去隐藏的行)以下是您“最大问题”的代码。。。。我不确定“插值”部分需要什么数学: 子插入\u整行\u编号\u行() C=1
子插入\u整行\u编号\u行()
C=1
R=ActiveCell.Row
如果单元格(R,C)=“”,则退出Sub
直到单元格(R,C)=“
如果Int(Cells(R,C))Int(Cells(R+1,C)),那么
行(R+C)。插入
R=R+1
单元(R,C)=Int(单元(R+1,C))
范围(单元格(R,C),单元格(R,C+5)).Interior.ColorIndex=6
如果结束
R=R+1
环
MsgBox“完成…”
端接头
我想这就是你想要的。不是VBA解决方案,而是Excel解决方案
index=MATCH(E3$B$3:$B$105)
t
值t1=索引($B$3:$B$105,$F3)
和t2=索引($B$3:$B$105,$F3+1)
x
值x1=索引($C$3:$C$105,$F3)
和t2=索引($C$3:$C$105,$F3+1)
x
值x=FORECAST(E3,I3:J3,G3:H3)
如果int(.cells(i,“A”).value2)int(.cells(i+1,“A”).value2),那么
我已经用三次样条曲线完全做到了这一点。对于您的解决方案来说太复杂了。试着用VLOOKUP()
和FORECAST()
做你想做的事。谢谢你,迈克!我添加了一个ElseIf,以便在时间数据已经是整数的情况下不创建新行。插值的形式应为y=y1+(x-x1)*((y2-y1)/x2-x1))。在第一篇文章的照片中,它显示为所选单元格。我试着用Range.Formula和Range.FormulaR1C1来做这个。我在写公式时找不到如何引用某个单元格。
Sub Insert_whole_Number_row()
C = 1
R = ActiveCell.Row
If Cells(R, C) = "" Then Exit Sub
Do Until Cells(R, C) = ""
If Int(Cells(R, C)) <> Int(Cells(R + 1, C)) Then
Rows(R + C).Insert
R = R + 1
Cells(R, C) = Int(Cells(R + 1, C))
Range(Cells(R, C), Cells(R, C + 5)).Interior.ColorIndex = 6
End If
R = R + 1
Loop
MsgBox "Done...."
End Sub