請高手指點一下,如何做出動態的行事曆及雙擊選擇輸入的功能?
- 帖子
- 79
- 主題
- 33
- 精華
- 0
- 積分
- 123
- 點名
- 0
- 作業系統
- win7
- 軟體版本
- x64
- 閱讀權限
- 20
- 性別
- 男
- 來自
- 台灣
- 註冊時間
- 2013-10-24
- 最後登錄
- 2024-3-28
|
請高手指點一下,如何做出動態的行事曆及雙擊選擇輸入的功能?
請高手指點一下,如何做出動態的年曆及雙擊選擇輸入的功能?
如附件
https://dl.dropboxusercontent.com/u/12575824/%E8%A1%8C%E4%BA%8B%E6%9B%86.xls
我需要一個日期輸入的功能,目前外觀大致上就像附件這樣。
我要在輸入頁 , 選擇一個 儲存格(基本上是 日期欄 下面),按下快速鍵後,會跳到年曆這一頁。(這部份應該ok)
年曆這一樣,我希望第一行第一個,是上個月,第二以才是 today()所在的月份。以此顯示12個月份。
一、因今天的月份會變,所以整個會變成是動態調整。請指教,這樣的功能該如何下手?
二、雙擊儲存格,會將該日期寫到輸入頁,選擇的儲存格之中。如果無法雙擊,改用快速鍵輸入也是可以。
目前不知道該如何做到這樣的功能,請指令一下。
三、目前年曆的 2013-12 2014-1~2014-10 這幾個是用 today() - 30 -60 -90-120 -150 ... 這樣的『爛』方法做出來的
請指教,該怎麼做比較好~~ |
|
|
公開經驗,創造智慧(我又不靠這過活)
|
|
|
|
|
- 帖子
- 79
- 主題
- 33
- 精華
- 0
- 積分
- 123
- 點名
- 0
- 作業系統
- win7
- 軟體版本
- x64
- 閱讀權限
- 20
- 性別
- 男
- 來自
- 台灣
- 註冊時間
- 2013-10-24
- 最後登錄
- 2024-3-28
|
13#
發表於 2013-12-17 01:07
| 只看該作者
回復 12# stillfish00
最後的解法: =OFFSET($B$2,int((ROW()-4)/9)*9,int((COLUMN()-2)/8)*8,,)
用 int(a/b) 取代 quotient(a,b)
出問題的原因因該是 excel 2003 quotient 屬於增益集,非excel 本生的function.
出錯的原因應該是 quotient ( row()-4,9) row()-4 算出來的值不是數字,is nonnumeric .
將quotient 用 int(a/b)取代之後就可以被 名稱定義取代。
換成更高版本應該就不會有這樣的怪現象。 |
|
|
公開經驗,創造智慧(我又不靠這過活)
|
|
|
|
|
- 帖子
- 1018
- 主題
- 15
- 精華
- 0
- 積分
- 1058
- 點名
- 0
- 作業系統
- win7 32bit
- 軟體版本
- Office 2016 64-bit
- 閱讀權限
- 50
- 性別
- 男
- 來自
- 桃園
- 註冊時間
- 2012-5-9
- 最後登錄
- 2022-9-28
|
12#
發表於 2013-12-17 00:02
| 只看該作者
本帖最後由 stillfish00 於 2013-12-17 00:09 編輯
回復 10# eigen
把乘的純數字換到前面看看,
month_first_day =OFFSET(月曆!$B$2,9*QUOTIENT(ROW()-4,9),8*QUOTIENT(COLUMN()-2,8),,)
也可能是版本不同關係,所以看到結果不同吧.... |
|
|
|
|
|
|
|
- 帖子
- 1018
- 主題
- 15
- 精華
- 0
- 積分
- 1058
- 點名
- 0
- 作業系統
- win7 32bit
- 軟體版本
- Office 2016 64-bit
- 閱讀權限
- 50
- 性別
- 男
- 來自
- 桃園
- 註冊時間
- 2012-5-9
- 最後登錄
- 2022-9-28
|
11#
發表於 2013-12-16 23:53
| 只看該作者
回復 10# eigen
我到定義名稱中把
month_first_day =OFFSET(月曆!$B$2,QUOTIENT(ROW()-4,9)*9,QUOTIENT(COLUMN()-2,8)*8,,)
的月曆!刪掉,雖然會自己復原,但是值就正確了....
我也不知道為什麼... |
|
|
|
|
|
|
|
- 帖子
- 79
- 主題
- 33
- 精華
- 0
- 積分
- 123
- 點名
- 0
- 作業系統
- win7
- 軟體版本
- x64
- 閱讀權限
- 20
- 性別
- 男
- 來自
- 台灣
- 註冊時間
- 2013-10-24
- 最後登錄
- 2024-3-28
|
10#
發表於 2013-12-16 23:20
| 只看該作者
回復 9# stillfish00
Dear Sir,
麻煩再幫一下
如附件
https://dl.dropboxusercontent.com/u/12575824/%E8%A1%8C%E4%BA%8B%E6%9B%86.xls
quotient 到底是那出了問題?
|
|
|
公開經驗,創造智慧(我又不靠這過活)
|
|
|
|
|
- 帖子
- 1018
- 主題
- 15
- 精華
- 0
- 積分
- 1058
- 點名
- 0
- 作業系統
- win7 32bit
- 軟體版本
- Office 2016 64-bit
- 閱讀權限
- 50
- 性別
- 男
- 來自
- 桃園
- 註冊時間
- 2012-5-9
- 最後登錄
- 2022-9-28
|
9#
發表於 2013-12-16 22:38
| 只看該作者
回復 7# eigen
我用2樓定義名稱沒問題啊!
month_first_day
=OFFSET($B$2,QUOTIENT(ROW()-4,9)*9,QUOTIENT(COLUMN()-2,8)*8,,)
calc_day
=IF(MONTH(month_first_day)<>MONTH(month_first_day-(WEEKDAY(month_first_day,1)-1)+ MOD(ROW()-4,9)*7 +MOD(COLUMN()-2,8)),"",month_first_day-(WEEKDAY(month_first_day,1)-1)+ MOD(ROW()-4,9)*7 +MOD(COLUMN()-2,8)) |
|
|
|
|
|
|
|
- 帖子
- 79
- 主題
- 33
- 精華
- 0
- 積分
- 123
- 點名
- 0
- 作業系統
- win7
- 軟體版本
- x64
- 閱讀權限
- 20
- 性別
- 男
- 來自
- 台灣
- 註冊時間
- 2013-10-24
- 最後登錄
- 2024-3-28
|
8#
發表於 2013-12-16 21:26
| 只看該作者
回復 6# GBKEE
我試過 Ex Target, Target.Parent
雙擊時target 變成 1/23/2014 經過格式化的值而不是 41662 ,以致於後面我的檢查程序都無法運作。
日曆上的日期都是正確的日期,只是透過儲存格格式 自定成 DD 或 YYYY-MM ,原始資料都還是 數值
利用這樣的特性,我在雙擊儲存格時,我就知道使用者點擊的是不是日期。 |
|
|
公開經驗,創造智慧(我又不靠這過活)
|
|
|
|
|
- 帖子
- 79
- 主題
- 33
- 精華
- 0
- 積分
- 123
- 點名
- 0
- 作業系統
- win7
- 軟體版本
- x64
- 閱讀權限
- 20
- 性別
- 男
- 來自
- 台灣
- 註冊時間
- 2013-10-24
- 最後登錄
- 2024-3-28
|
7#
發表於 2013-12-16 21:15
| 只看該作者
回復 6# GBKEE
呵~~我的眼力也很差,寫的時候,我是用 ultraedit 一段一段拼出來後,才貼到 excel
目前我用眼不見為淨的方式,儲存格格式->保護->隱藏 加上工具->保護 將公式隱藏起來(不然一點儲存格,整個畫面#$$^%) |
|
|
公開經驗,創造智慧(我又不靠這過活)
|
|
|
|
|
- 帖子
- 5923
- 主題
- 13
- 精華
- 1
- 積分
- 5986
- 點名
- 0
- 作業系統
- win10
- 軟體版本
- Office 2010
- 閱讀權限
- 150
- 性別
- 男
- 來自
- 台灣基隆
- 註冊時間
- 2010-5-1
- 最後登錄
- 2022-1-23
        
|
6#
發表於 2013-12-16 17:13
| 只看該作者
回復 4# eigen - '工作表模組:雙擊儲存格程式
- Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
- Ex Target, Target.Parent
- 'Sub Ex 的程式碼中
- 'With Rng.Resize(, 7) '日期的範圍
- ' .Merge '合併為儲存格
- '*** -> Target.Resize(, 7) 合併為儲存格 ****
- '*** 原本的位置當你再次,雙擊儲存格,看看有何變化
- End Sub
複製代碼 這工作表函數落落長,眼力不好,有請眼力好者,幫幫忙. |
|
|
|
|
|
|
|
- 帖子
- 79
- 主題
- 33
- 精華
- 0
- 積分
- 123
- 點名
- 0
- 作業系統
- win7
- 軟體版本
- x64
- 閱讀權限
- 20
- 性別
- 男
- 來自
- 台灣
- 註冊時間
- 2013-10-24
- 最後登錄
- 2024-3-28
|
5#
發表於 2013-12-16 16:47
| 只看該作者
追求完全的最後一關,將右側表列的休假日,在左側的月曆中,將字型改用紅色
如附件
https://dl.dropboxusercontent.com/u/12575824/%E8%A1%8C%E4%BA%8B%E6%9B%86.xls
因為日期都是用算的,位置不固定,我不知如何下手
就算用 『設定格式化的條件』也只能有三個條件,無法將數十個日期加上去,請高手指點~~謝謝 |
|
|
公開經驗,創造智慧(我又不靠這過活)
|
|
|
|
|