Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 1768|回复: 3

[已解决]请高手帮忙看下这个查询职工月生日的代码要如何修改

[复制链接]
发表于 2011-12-26 16:01 | 显示全部楼层 |阅读模式
我附件上有2表,我希望当我在查询表中的h1输入年份和月份的时候,可以查到生日录入中同一年份和同一月份内职工的姓名和日期,我原先是用
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim arr, x&, i&, arr1(), t&
    If Target.Address = "$H$1" Then
        With Sheets("生日录入")
            arr = .Range("A3:C" & .Range("A65536").End(xlUp).Row)
        End With
        t = Target.Value
        For x = 1 To UBound(arr)
            If Format(arr(x, 2), "m") = t Then
                i = i + 1
                ReDim Preserve arr1(1 To 4, 1 To i)
                arr1(1, i) = i
                For y = 1 To 3
                    arr1(y + 1, i) = arr(x, y)
                Next y
            End If
        Next x

        Range("A3:D65536").ClearContents
        Range("A3:D65536").Borders.LineStyle = 0
        If i = 0 Then MsgBox "本月没有职工生日!": Exit Sub
        Range("A3").Resize(i, 4) = Application.Transpose(arr1)
        Range("A3").Resize(i, 4).Borders.LineStyle = 1
    End If
End Sub
这个代码输入1-12来查询,结果现在发现如果有职工是农历生日是12月的,和有职工的生日是新历1月份的,会重叠到一起,所以就像换成年份和月份来查询,请高手帮忙,现在查询表就是我希望得到的记过,谢谢高手的帮忙。

最佳答案
2011-12-26 16:31
qiongmei 发表于 2011-12-26 16:19
单改这个不行,因为这里有2012年1月28日,2012年1月29日,2013年1月6日,2013年1月15日,都是1月份的,我现 ...

改2句
        t = Format(Target.Value, "yyyymm")
        For x = 1 To UBound(arr)
            If Format(arr(x, 2), "yyyymm") = t Then


Book1.rar

11.55 KB, 下载次数: 11

excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2011-12-26 16:06 | 显示全部楼层
  1. t = Month([h1].Value)
复制代码

改这一行就可以了。
回复

使用道具 举报

 楼主| 发表于 2011-12-26 16:19 | 显示全部楼层
单改这个不行,因为这里有2012年1月28日,2012年1月29日,2013年1月6日,2013年1月15日,都是1月份的,我现在如果输入的是2012年1月,我就只要2012年1月份的显示,不要2013年的显示出来,再次谢谢高手的指教。
回复

使用道具 举报

发表于 2011-12-26 16:31 | 显示全部楼层    本楼为最佳答案   
qiongmei 发表于 2011-12-26 16:19
单改这个不行,因为这里有2012年1月28日,2012年1月29日,2013年1月6日,2013年1月15日,都是1月份的,我现 ...

改2句
        t = Format(Target.Value, "yyyymm")
        For x = 1 To UBound(arr)
            If Format(arr(x, 2), "yyyymm") = t Then


回复

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-17 21:23 , Processed in 0.286552 second(s), 11 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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