以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  根据输入数字取值  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=115582)

--  作者:mxy8898
--  发布时间:2018/3/9 15:48:00
--  根据输入数字取值

图片点击可在新窗口打开查看此主题相关图片如下:tim图片20180309160022.png
图片点击可在新窗口打开查看

附件上传了一个表格包含公式,也上传了一个实例
表格说明:
1、范05列输入1 到 56,从范08列对比,找到指定行,取值范09、10列这行数据到06和07列。
2、范05列输入数据大于56,指定列 范08列没有对应数据按照最后一数据取值,即取值47对应的0.6494和1.2031。如果新增48就取值48行对应数据以此类推。
3、输入1以下数据,取值为空,如0、-1等,后面取值为空

表格:
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:工作簿1.xlsx


实例:
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:测试效果.table

[此贴子已经被作者于2018/3/9 16:01:08编辑过]

--  作者:有点甜
--  发布时间:2018/3/9 17:29:00
--  

If e.DataCol.name = "范05" Then
    Dim s As String = e.newvalue
    Dim n1 As String = Nothing
    Dim n2 As String = Nothing
    If s <> Nothing Then
        Dim i As Integer = Math.Floor(val(s))
        If i >= 1 Then
            Dim fdr As DataRow = e.DataTable.find("范08 <= " & i, "范08 desc")
            If fdr IsNot Nothing Then
                n1 = fdr("范09")
                n2 = fdr("范10")
            End If
        End If
    End If
    e.DataRow("范06") = n1
    e.DataRow("范07") = n2
End If

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:测试效果.table


--  作者:mxy8898
--  发布时间:2018/3/12 12:38:00
--  
谢谢,已经通过另外一种形式搞定了,效果还行。代码内容格式不同。