|
我附件上有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月份的,会重叠到一起,所以就像换成年份和月份来查询,请高手帮忙,现在查询表就是我希望得到的记过,谢谢高手的帮忙。
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
|
|