-1

我已经编写了用于复制列并将其粘贴到用户想要代码的位置的代码

 Set rng = Range("A1:EO1").Find(What:=COL, LookIn:=xlValues, Lookat:=xlWhole)
If rng Is Nothing Then
 MsgBox "Value not found in row 1", vbExclamation
 Else
  Range(rng, rng.End(xlDown)).copy
  ActiveSheet.Paste Destination:=ThisWorkbook.Sheets(assume).Columns(c).Offset(, 4)
EndIf

这里“COL”是保存用户给定值的变量,“c”是保存要粘贴的字符串值的变量。

它工作正常。例如:-假设excel数据像

0.25| 0.50| 0.75| 1.00| 1.25| 1.50| 1.75| 2.00|

如果用户输入值说 1.75,则上面的行是第一行,那么它将选择整列并将其粘贴到用户想要的位置。

但是当用户输入 1.90 时,它应该在 1.75 和 2.00 之间插入数据并将其粘贴到用户想要的位置

请帮我

4

1 回答 1

1

如果您真的想在没有完全匹配的两点之间进行插值,那么您可以获得的最接近的是:

interpolated = y1 + ((xs-x1)/(x2-x1))*(y2-y1)

其中x1,x2是第一行的值,xs是用户输入的“搜索”值。 y1,y2是下面每一行对应的两个值。

于 2012-10-23T16:32:54.550 回答