大众计算机学习网欢迎诸位!收藏本站注 册登 陆
常用教程:基础知识网络知识操作系统WPS网页制作数据库算法网页成功之路网络安全最新技术古典mid流行midmid背景下载中心
您现在的位置:首页 > 教程 > 文章页

Excel Vba根据班级号从总表自动填充班级学生到子表

Admin | 2017-3-7 9:23:20 | ReadNums | 543 | 标签 Excel教程 | 打印本页
     

  有一总表,保存的是年级的所有学生的信息。另外,有一子表,只显示当前班级的学生。

  现在,要做的就是,在子表里面,选择班级号,然后根据VBA自动从总表中找到本班的学生填充到子表。

  总表信息如下,都是学生的基本信息。


  子表如下,当我们选择一个班级后,再点击“填充数据”按钮,那么,将会自动根据班级号从总表中找到对应班级的信息填充到子表里面。


  其它不多说,功能代码如下:

  Dim Boot1
  Dim Boot2
    For i = 3 To 42 '清理原来数据
        Sheets("按班级打印").Cells(i, 2).Value = ""
        Sheets("按班级打印").Cells(i, 3).Value = ""
        Sheets("按班级打印").Cells(i, 4).Value = ""
        Sheets("按班级打印").Cells(i, 7).Value = ""
        Sheets("按班级打印").Cells(i, 8).Value = ""
        Sheets("按班级打印").Cells(i, 9).Value = ""
    Next i
    For i = 3 To Sheets("2019届学籍信息").UsedRange.Rows.Count
        If (Trim(Sheets("2019届学籍信息").Cells(i, 3).Value) = Trim(Sheets("按班级打印").Cells(3, 11).Value)) Then
            Boot1 = Boot1 + 1
            If (Boot1 <= 40) Then
              Sheets("按班级打印").Cells(Boot1 + 2, 2).Value = Sheets("2019届学籍信息").Cells(i, 1).Value '填充学籍号
              Sheets("按班级打印").Cells(Boot1 + 2, 3).Value = Sheets("2019届学籍信息").Cells(i, 2).Value '填充姓名
              Sheets("按班级打印").Cells(Boot1 + 2, 4).Value = Sheets("2019届学籍信息").Cells(i, 3).Value '填充班级
            Else
              Boot2 = Boot2 + 1
              Sheets("按班级打印").Cells(Boot2 + 2, 7).Value = Sheets("2019届学籍信息").Cells(i, 1).Value '填充学籍号
              Sheets("按班级打印").Cells(Boot2 + 2, 8).Value = Sheets("2019届学籍信息").Cells(i, 2).Value '填充姓名
              Sheets("按班级打印").Cells(Boot2 + 2, 9).Value = Sheets("2019届学籍信息").Cells(i, 3).Value '填充班级
            End If
        End If
    Next i
    Boot1 = 0
    Boot2 = 0

  说明:Sheets("2019届学籍信息")为总表。Sheets("按班级打印")为子表。


问题未解决:在线咨询我要在线咨询问题

网友评论

(访客)
内容实用原创,讲得很好。
20xx年x月x日
(站长)
有问题请在线咨询。
20xx年x月x日