2009年9月17日 星期四

EXCEL VBA 月曆

之前興血來潮研究了個在儲存格中建立日歷的功能
做法,
1.先在設計模式中,加入一個『月曆控製項』
2.進入vba設計模式,在該工作表的位置加入以下的code
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column = 2 Then
T = Target.Top
L = Target.Left
W = Target.Width
With Me.Calendar1
.Top = T
.Left = L + W
.Visible = True
End With
ElseIf Me.Calendar1.Visible = True Then
Me.Calendar1.Visible = False
End If
End Sub


Private Sub Calendar1_Click()
ActiveCell.Value = Calendar1.Value
End Sub

說明:
1當工作表更動時進入程序
2如果目前作用點在第二欄,就將月曆放在所指定的位置

3.當月曆被點選時,進入Calendar1_Click() 程序
4.將值指定給目前的儲存格

範例:http://www.FunP.Net/23041

沒有留言: