返回列表 上一主題 發帖

[發問] 搜尋、比對,再複製過來的功能

回復 15# n7822123

Private Sub CommandButton2_Click()
d = CDate(Format(Now, "yyyy/m/1")) + 31
ym$ = Format(d, "emm") & "檔案"
MsgBox ym
End Sub

TOP

再來兩種方法:
Private Sub CommandButton2_Click()
ym$ = Format(Date - Day(Date) + 32, "EMM") & "檔案"
MsgBox ym
End Sub


Private Sub CommandButton2_Click()
ym$ = Format(DateAdd("m", 1, Date), "EMM") & "檔案"
MsgBox ym
End Sub


===========================

TOP

本帖最後由 n7822123 於 2019-6-21 01:19 編輯

回復 20# 准提部林


感謝準大提供好多方法,受益匪淺 ^.^,算的我眼花撩亂了XD
Edate函數感覺可以完全被DateAdd所取代,只能用當間隔,彈性有限

MsgBox Format(Application.EDate(Date, 1), "emm") & "檔案"
MsgBox Format(DateAdd("m", 1, Date), "emm") & "檔案"


收穫最多的是Evaluate函數,之前沒用過這個函數!
覺得非常好用,自己試玩了一下 ^.^
感覺上只要是工作表函數都可以計算
雖然我已經習慣用 Application.工作表函數 或者 WorksheetFunction.工作表函數
但是這個函數的價值在於,可以直接把字串直接做運算,不需要額外解字串來處理,省下大量程式!

MsgBox Evaluate("3+2") '=5
MsgBox Evaluate("max(" & "20,30,40,99)")  '最大值99
MsgBox Evaluate("SIN(30*PI()/180)")  'Sin 30度=0.5
MsgBox Evaluate("DEC2HEX(253)")  '253的16進位表示=FD


但是VBA函數就不能了~~~~~可惜
MsgBox Evaluate("Hex(253)")  '錯誤

今天準大感覺心情很好,卯起來提供N種方法XD
程式是依需求寫的,需求表達不清楚
或者沒有上傳附件,愛莫能助

TOP

回復 23# n7822123


我也再提供方法~~這兩個其實是一樣的,用的函數不同

MsgBox Format(Year(Date) & "/" & Month(Date) + 1, "emm") & "檔案"
MsgBox Format(Year(Date) & "/" & DatePart("m", Date) + 1, "emm") & "檔案"
程式是依需求寫的,需求表達不清楚
或者沒有上傳附件,愛莫能助

TOP

        靜思自在 : 對父母要知恩,感恩、報恩。
返回列表 上一主題