六合开奖结果现场直播欢迎诸位!收藏本站注 册登 陆
常用三肖中特马:基础知识网络知识操作系统WPS网页制作数据库算法网页成功之路网络安全最新技术古典mid流行midmid背景下载中心
您现在的位置:首页 > 三肖中特马 > 文章页

Excel根据年月,将总表数据自动显示到各月份表的VBA代码

Admin | 2009-4-30 14:21:37 | ReadNums | 6732 | 标签 六合开奖结果现场直播 | 打印本页
     

  本例子,我们来解决这样的一个问题,下看下图!

  本文为解决网名为“小妮子”的网友的问题而发。

  先看好这个表的名称,是数据总表;

  该表里面,第2列是日期字段列;下面,我们要实现的效果是,通过判断总表的第2列的值,按照月份,将对应的数据自动填充到各表。

  比如说,月份为1月的总表里面的所有的数据,将自动填充到表名称为1的数据表里面,其它依此类推。

  其它表的名称,分别以月份作为表的名称,如:1、2、3、4、5……12

  下面再看看其他表的数据,是空的,如下图的1表!

  其它表的数据,是通过VBA代码功能,自动填充并显示数据的,不需要手动复制粘贴。

  要实现这样的功能,以月份为参照对象,将总表的对应的月份的数据填充到对应的表里面,那么,得使用VBA来实现。

  首先,在总表里面,通过控件工具栏,拖出一个按钮,如下图!

  之后双击按钮,进入按钮的代码编写模式,给按钮添加如下图的代码,即可完成。

  为分保大家的学习,下面,贴出源代码:

Private Sub CommandButton1_Click()

Dim MyMonth  '获取总表第2列的单元格的月份

Dim TableCount As Integer '工作表总数
TableCount = Worksheets.Count

Dim MyTableRows

For k = 2 To TableCount '除总表之外的其它工作表
    MyTableRows = 2
    For Current = 2 To 65536 '从第2行扫描总表的行数据
      If (Worksheets(1).Cells(Current, 2).Value <> "" _
      And Month(Worksheets(1).Cells(Current, 2).Value) = k - 1) Then
          For m = 1 To 30
              Worksheets(k).Cells(MyTableRows, m).Value = Worksheets(1).Cells(Current, m).Value
          Next
          MyTableRows = MyTableRows + 1
      End If
    Next
Next
End Sub


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

四四加开特马猜生肖

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