| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4098 人关注过本帖
标题:请问如何将vba语言转换成vb.net语言
只看楼主 加入收藏
wuou725
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2016-5-29
结帖率:0
收藏
已结贴  问题点数:20 回复次数:2 
请问如何将vba语言转换成vb.net语言
我曾经用电子表格做了一个根据组别序号个数,自动分组,现在想用狐表(编程语言是用的)实现自动分组。如组别相同序号个数小于16,不分组,大于等于16,小于30分两组,分别在组别名称后加1小组,2小组;大于等于31,小于等于45分3个小组,以此类推。
图片附件: 游客没有浏览图片的权限,请 登录注册

vba语言
Sub lqxs()
Dim arr, i&, aa, j&, n&, m&
Dim d, k, t
Set d = CreateObject("Scripting.Dictionary")
Sheet1.Activate
[I2:I2001].ClearContents
arr = [a1].CurrentRegion
For i = 1 To UBound(arr)
    d(arr(i, 1)) = d(arr(i, 1)) & i & ","
Next
k = d.keys: t = d.items
For i = 0 To UBound(k)
    t(i) = Left(t(i), Len(t(i)) - 1)
    If InStr(t(i), ",") Then
        aa = Split(t(i), ",")
        n = UBound(aa) + 1
        If n >= 16 And n <= 30 Then
            For j = 0 To UBound(aa)
                m = m + 1
                If m > 2 Then
                    m = 1
                End If
                If m = 1 Then
                zz = "1组"
                ElseIf m = 2 Then: zz = "2组"
                End If
                Cells(aa(j), 10) = arr(aa(j), 6) & zz
            Next
        ElseIf n >= 31 And n <= 45 Then
            For j = 0 To UBound(aa)
                m = m + 1
                If m > 3 Then
                    m = 1
                End If
                If m = 1 Then
                zz = "1组"
                ElseIf m = 2 Then: zz = "2组"
                ElseIf m = 3 Then: zz = "3组"
                End If
                Cells(aa(j), 10) = arr(aa(j), 6) & zz
           Next
        ElseIf n >= 46 And n <= 60 Then
            For j = 0 To UBound(aa)
                m = m + 1
                If m > 4 Then
                    m = 1
                End If
                If m = 1 Then
                zz = "1组"
                ElseIf m = 2 Then: zz = "2组"
                ElseIf m = 3 Then: zz = "3组"
                ElseIf m = 4 Then: zz = "4组"
                End If
                Cells(aa(j), 10) = arr(aa(j), 6) & zz
            Next
。。。。。。
 请人用狐表编写始终有问题,请楼主帮一下忙,能给一个正确完整的语言,谢谢!始终提示GetValues不是DataTables成员
Dim xuhao As List(Of String) = DataTables("D报名表").GetValues("序号")
For Each s As String In xuhao
    Dim drs As List(Of DataRow) = DataTables("D报名表").Select("序号 = '" & s &"'","[_Identify]")
    If drs.Count < 16 Then Continue For
    Dim count = math.Ceiling(drs.Count / 15)
    For i As Integer = 0 To  drs.Count -1
        drs(i)("分组") = drs(i)("组别") & (i Mod count + 1)
    Next
Next

非常感谢!
 


搜索更多相关主题的帖子: 编程语言 如何 电子 
2016-05-29 21:59
不说也罢
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:39
帖 子:1481
专家分:4989
注 册:2007-10-7
收藏
得分:10 
DataTables是什么?是狐表自定义的对象吧?非.net成员。

===================================================
讨厌C#的行尾的小尾巴;和一对大括号{ }
===================================================
2016-05-30 10:30
xiangyue0510
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:86
帖 子:938
专家分:5244
注 册:2015-8-10
收藏
得分:10 
VBA都有代码了,如果是自己编的,一点点改成不会很困难的。
如果是别人写的,先看懂了再改。
2016-05-31 09:34
快速回复:请问如何将vba语言转换成vb.net语言
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015799 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved