- 帖子
- 835
- 主題
- 6
- 精華
- 0
- 積分
- 915
- 點名
- 0
- 作業系統
- Win 10,7
- 軟體版本
- 2019,2013,2003
- 閱讀權限
- 50
- 性別
- 男
- 註冊時間
- 2010-5-3
- 最後登錄
- 2025-7-5
|
2#
發表於 2014-8-28 23:01
| 只看該作者
本帖最後由 luhpro 於 2014-8-28 23:18 編輯
想請問各位前輩
日曆控制項如何將目前儲存格寫入,選取日曆後的日期?
目前連指定儲存格寫入日期都寫不出 ...
jackson7015 發表於 2014-8-28 17:00 
我拿我以前寫好的程式碼來改:
月曆控制項 : mvDate
清除日期按鈕 : cbClrDate
執行方式:
1. 對 [A1] 儲存格按滑鼠右鍵, 啟動 月曆控制項 與 清除日期按鈕.
2-1. 若此時點擊 清除日期按鈕 會清空 目前儲存格, 然後隱藏 控制項 與 按鈕.
2-2. 若此時在 月曆控制項 點擊任一日期, 會將該日期設定到 目前儲存格, 然後隱藏 控制項 與 按鈕.
以下程式碼放在 Sheets("工作表1") (月曆控制項 與 清除日期按鈕 都放在此工作表內)- Private Sub mvDate_DateClick(ByVal DateClicked As Date)
- rTar = DateClicked ' 設定日期到 目前儲存格
- mvDate.Visible = False ' 隱藏日曆表
- cbClrDate.Visible = False ' 隱藏清除日期鈕
- End Sub
- Private Sub cbClrDate_Click()
- rTar = "" ' 清空 目前儲存格
- mvDate.Visible = False
- cbClrDate.Visible = False
- End Sub
- Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
- With Target
- If .Row = 1 And .Column = 1 Then ' 對 [A1} 儲存格按滑鼠右鍵
- mvOpenDate.Visible = True ' 顯示日曆表
- cbClearDate.Visible = True ' 顯示清除日期鈕
- Cancel = True ' 不繼續執行原先按滑鼠右鍵會執行的功能
- Exit Sub
- End If
- End With
- End Sub
- Private Sub Worksheet_SelectionChange(ByVal Target As Range)
- Set rTar = Target ' 設定 rTar 為 目前儲存格
- End Sub
複製代碼 以下程式碼放在 ThisWorkBook :- Private Sub Workbook_Open()
- With Sheets("工作表1")
- rTar = ""
- With .mvDate
- .Visible = True ' 顯示日曆表
- .Value = Date ' 設定預設值為今天
- .Visible = False ' 隱藏日曆表
- End With
- .cbClrDate.Visible = False ' 隱藏清除日期鈕
- End With
- End Sub
複製代碼 以下程式碼放在 Module :- Public rTar As Range
- Option Explicit
複製代碼 |
|