[有很多種解決問題的方法,這邊只是提供一個我知道的,並不代表是最佳的]
相信很多人使用文字方塊輸入日期,常常都會被文字屬性與日期屬性搞得頭暈暈腦鈍鈍,在此跟大家分享一個比較簡單,又可以進行調整日期的方法,給大家參考。
 
[範例說明]
此範例是運用活頁簿內的儲存格進行日期的轉換,所以當使用此範例時,被指定的儲存格請指定在沒有使用的儲存格內,然後利用微調按鈕,進行上下日期的調整,調整完畢時,可以再運用函數,將其儲存格恢復成為空白。
 
[定義Name]
 
a.首先新增一個UserForm,之後於該Form內新增三個元件,並進行適當的調整
b.標籤
c.文字方塊
d.微調按鈕
 
紅框處為[微調按鈕],不要誤選到旁邊的卷軸按鈕
[調整過後的版面]
 
 
1.點[微調按鈕]兩下進去屬性視窗
此時去看事件名稱內最下面多了兩個選項
SpinUpè上按鈕
SpinDownè下按鈕

[上按鈕]
 
 
上按鈕的程式碼如下所示
=========================================================
Private Sub SB1_SpinUp() 
Range("A1") = TB1.Text  '先讓
Range("A1")等於目前TB1的文字
Range("A1").Value = Range("A1").Value + 1 '這一行就是運用活頁簿內的儲存格進行日期+1的指令
TB1.Text = Range("A1").Value  '再讓TB1的內容等於
Range("A1")
End Sub
=========================================================
 
[下按鈕]
下按鈕的程式碼如下所示
==================================
Private Sub SB1_SpinDown()
Range("A1") = TB1.Text  'Range("A1")
Range("A1").Value = Range("A1").Value - 1  '這一行就是運用活頁簿內的儲存格進行日期-1的指令
TB1.Text = Range("A1").Value  '再讓TB1的內容等於Range("A1")
End Sub
==================================
 
2.於VBAProject內插入一個模組
 
模組內的程式碼如下
=================================
Sub CAUF()
工作表1.Range("A1") = "=TODAY()"  '讓Range("A1")的儲存格等於今天的日期
UF.Show  '跳出UF視窗
UF.TB1.Text = 工作表1.Range("A1")  'UF上的TB1等於工作表上的Range("A1")
End Sub
=================================
 
3.於工作頁上隨意新增一個圖形,並將其指定剛剛新增好的巨集模組 [CAUF]
 
4.圖形內可以任意取名,在此處就取名為 [呼叫UF]
 
 
5.按下工作表上你剛剛新增的 [呼叫UF]鈕,就會跳出UF,此時你可以按按看上與下的按鈕,日期就會跟著變動了。
 

arrow
arrow

    黑天使 發表在 痞客邦 留言(0) 人氣()