Foxtable(狐表)用户栏目专家坐堂 → 求一段代码,谢谢


  共有3433人关注过本帖树形打印复制链接

主题:求一段代码,谢谢

帅哥哟,离线,有人找我吗?
jiajunchi
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:73 积分:879 威望:0 精华:0 注册:2010/1/13 19:31:00
求一段代码,谢谢  发帖心情 Post By:2014/7/10 10:40:00 [只看该作者]

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

图片点击可在新窗口打开查看此主题相关图片如下:qq图片20140710104058.jpg
图片点击可在新窗口打开查看

求一段代码:第一列里自动选一组数据(个数不限)之和等于1645,但是:第二列对应的一组数据之和等于14.15,如果没有,选最接近一组也行!将对应的数据标示出来.谢谢

[此贴子已经被作者于2014-7-10 10:41:59编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/7/10 10:44:00 [只看该作者]


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/7/10 11:34:00 [只看该作者]

调用代码,因为组合排列运行较慢,红色地方你手动去调比较好

 

Dim t As Table = Tables("Sheet1")
Dim a(t.rows.Count-1) As String
For i As Integer = 0 To t.rows.Count - 1
    a(i) = i
Next
Dim b(t.rows.Count) As String
For i As Integer = 6 To 6 ' = 1 to t.rows.Count
    Functions.Execute("loop", a, t.rows.Count, i, b, i)
Next

msgbox("查询完毕")

 

-----------------------------------------

 

内部函数 loop

 

Dim a() As String = args(0)
Dim n As Integer = args(1)
Dim m As Integer = args(2)
Dim b() As String = args(3)
Dim Mm As Integer = args(4)

For i As Integer = n To m Step -1
    b(m-1) = i-1
    If m > 1 Then
        Functions.Execute("loop", a, i-1, m-1, b, Mm)
    Else
        Dim sum1 As Double = 0
        Dim sum2 As Double = 0
        Dim t As Table = Tables("Sheet1")
        For j As Integer = 0 To Mm - 1
            sum1 += t.rows(a(b(j)))("第一列")
            sum2 += t.rows(a(b(j)))("第二列")
        Next
        If sum1 = 1645 AndAlso sum2 >= 14 AndAlso sum2 <= 15 Then
            Dim result As String = ""
            For j As Integer = 0 To Mm - 1
                result &= a(b(j))+1 & ","             
            Next
            output.show("找到,行(" & result.Trim(",") & "),第二列和:(" & sum2 & ")" )
        End If
    End If
Next


 回到顶部