ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: jx928867128

[求助] 这种调课要求不知道VBA能不能实现,求帮忙

[复制链接]

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-4-5 15:30 | 显示全部楼层
QQ图片20240405152813.png 本贴继续求各位帮忙,请各位好心人注意附件的问题说明中的第二个要求

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-4-5 21:18 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
问题没解决,继续求帮忙。

TA的精华主题

TA的得分主题

发表于 2024-4-6 09:22 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
1712366517123.png

TA的精华主题

TA的得分主题

发表于 2024-4-6 09:23 | 显示全部楼层
每天课程节数不同的问题,增加了一句代码,修改了两句代码,
自己根据图片修改代码,自己测试看看吧,没有相应的表格测试,自己测试看看

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-4-6 09:54 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
3190496160 发表于 2024-4-6 09:23
每天课程节数不同的问题,增加了一句代码,修改了两句代码,
自己根据图片修改代码,自己测试看看吧,没有 ...

万分感谢朱老师的再次帮忙,感恩您的多次无私付出,祝您生活愉快,好人一生平安。

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-4-6 11:44 | 显示全部楼层

调课模式(修改代码后不能运行).rar (170.07 KB, 下载次数: 12) 老师好,我把代码修改后程序为什么运行不起来,方便帮我看看哪里改错了吗

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-4-6 18:03 | 显示全部楼层
3190496160 发表于 2024-4-6 09:23
每天课程节数不同的问题,增加了一句代码,修改了两句代码,
自己根据图片修改代码,自己测试看看吧,没有 ...

老师好,估计是我没有表达清楚,不是每天课程节数不同,每次排课是每天课程节数都相同,只是可能和上一次排课的课程节数不同(比如上一次每天全部是13节,这次排课每天全部是10节课)

TA的精华主题

TA的得分主题

发表于 2024-4-6 18:53 | 显示全部楼层
课表设计随心所欲,再高明的代码也是难以完全适应的

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-4-6 19:15 | 显示全部楼层
本帖最后由 jx928867128 于 2024-4-6 19:18 编辑
3190496160 发表于 2024-4-6 18:53
课表设计随心所欲,再高明的代码也是难以完全适应的

老师说得对,学校排课软件换了好几套,就是因为学校的课表结构时时变,没有哪一款软件可以搞定,只能手工搞,没办法才到来论坛里求各位帮忙,2楼的代码经测试是可以满足学校课表结构变化,就是课示显示没有网格线,查看节次很吃力,如果能加个网格线就很完美了。

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-4-6 21:56 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
3190496160 发表于 2024-4-5 10:56
Private Sub UserForm_Initialize()
Dim ar As Variant
Dim br()

Private Sub UserForm_Initialize()
Dim ar As Variant
Dim br()
rr = Array("节次", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期日")
With Sheets("汇总")
    r = .Cells(Rows.Count, 1).End(xlUp).Row
    y = .Cells(4, Columns.Count).End(xlToLeft).Column
    ar = .Range(.Cells(1, 1), .Cells(r, y))
    For j = 0 To UBound(rr)
        ListView1.ColumnHeaders.Add , , rr(j), 90 'Sheets("物料库存数据").Cells(3, j).Width
    Next
    ListView1.View = lvwReport
    ListView1.FullRowSelect = True
    ListView1.Gridlines = True
    ReDim br(1 To 14, 1 To 8) '14是课表最后一节所在的列号,如果节次有变化就修改这个值。
    br(1, 1) = "节次"
    For j = 2 To 14 '14是课表课表最后一节所在的列号,如果节次有变化就修改这个值。
        br(j, 1) = ar(4, j)
    Next j
    zd = ActiveCell.Value
    xm = Split(zd, Chr(10))(1)
    y = 1
    For j = 2 To UBound(ar, 2) Step 13
        y = y + 1
        For s = j To j + 12 '12是正课与晚自习的总节数,如果节数有变化就修改这个值。
            If IsNumeric(ar(4, s)) Then
                xh = ar(4, s) + 2
            ElseIf ar(4, s) = "早读" Then
                xh = 2
            ElseIf InStr(ar(4, s), "晚") > 0 Then
                xh = Right(ar(4, s), 1) + 11 '11是晚自习第一节的位置列号,如果有变化就修改这个值。
            End If
            For i = 5 To UBound(ar)
                If ar(i, s) <> "" Then
                    If InStr(ar(i, s), Chr(10)) > 0 Then
                        If InStr(ar(i, s), xm) > 0 Then
                            br(xh, y) = Split(ar(i, s), Chr(10))(0) & ar(i, 1)
                        End If
                    End If
                End If
            Next i
        Next s
    Next j
    For i = 2 To UBound(br)
        Set Itm = ListView1.ListItems.Add
        Itm.text = br(i, 1)
        For j = 2 To UBound(br, 2)
            Itm.SubItems(j - 1) = br(i, j)
        Next j
   Next i
End With
End Sub
老师好,您的代码我这样理解对吗,如果正确的话,我以后只要直接修改参数就行了

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-17 21:40 , Processed in 0.032125 second(s), 6 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表