Board logo

標題: 使用 TODAY() 取得系統日期 然後固定不變 怎模做呢 [打印本頁]

作者: mycmyc    時間: 2010-10-13 23:11     標題: 使用 TODAY() 取得系統日期 然後固定不變 怎模做呢

本帖最後由 mycmyc 於 2010-10-13 23:32 編輯

使用 TODAY() 取得系統日期  然後固定不變 怎模做呢
不然 不管那天填寫日期  多變今天了

A4寫  =IF(A4="",TEXT(TODAY(),A4))  變成1900/1/0
怎麼辦  請教  謝謝


cell a1 b1 原來是空的
a1 加上資料後 b1 會自動跳出今天日期(today())
希望保留當天日期
下次開啟後無須跳到新的當日
作者: luhpro    時間: 2010-10-13 23:46

本帖最後由 luhpro 於 2010-10-13 23:55 編輯

回復 1# mycmyc

其實本串這個例子應該是用 vba 比較容易達成而沒其他毛病,
若用儲存格公式應該都會出現 "循環參照" 的警告訊息.

不過還是有個方式可以做到 :
A4 = IF(C1=1,B1,B2)

B1 = NOW()
B2 = A4

C1 = 0

當手動將 C1 設為 1 時會將 A4 變成今天的日期, (如果沒變請手動重新計算)
否則(即 C1 <> 1)就保持舊值(存在 B2上, (所以應該要先給初值, 也就是 C1=1 最少要先做過一次)

本法中首次出現 "循環參照" 的警告時請直接按 "取消" 按鍵略過不變更現況,
其後手動將當 C1=1 改變成 C1 <> 1 時又會再次出現 "循環參照" 的警告,
請直接按 "確定" 忽略該訊息.

若需要重設 A4 為今天日期時,
請將 C1 的值設成 1 ,
等 A4 的值變動成今天日期後再將 C1 設成 <> 1 即可.
作者: mycmyc    時間: 2010-10-14 00:12

回復 2# luhpro
  感謝大大指教
我試了  還是有些問題  一改 C1=1  全變回來
我搜尋 如大大說的用VBA 比較好
能請大大 教我VBA嗎
  我VBA 還不大行
  麻煩你 詳細說明一下  謝謝你
作者: oobird    時間: 2010-10-14 00:54

別用公式了,ctrl+; 不好嗎?
作者: onegirl0204    時間: 2010-10-14 09:37

剛剛試了一下∼真的馬上出現今天的日期耶!只是還得等到明天再看看那一格的日期會維持10/14或自動變成10/15囉?
作者: oobird    時間: 2010-10-14 09:44

剛剛試了一下∼真的馬上出現今天的日期耶!只是還得等到明天再看看那一格的日期會維持10/14或自動變成 ...
onegirl0204 發表於 2010-10-14 09:37



    很有趣!
若按耐不住時可改變一下系統日期,哈哈。
作者: onegirl0204    時間: 2010-10-14 10:10

回復 6# oobird


前輩果然不是浪得虛名的 ,像我這種新手就是不會想到變更系統日期,而選擇傻傻地等一天,幸好才等一天而已!
作者: mycmyc    時間: 2010-10-14 12:33

謝謝大家 沒辦法只好用  手工輸入了
作者: chain941006    時間: 2010-10-14 13:50

A1:99年10月13日
公式:=FIXED(YEAR(NOW())-1911,0,TRUE)&"年"&FIXED(MONTH(NOW()),0,TRUE)&"月"&FIXED(DAY(NOW()),0,TRUE)&"日"

vba
Sub Macro1()
    Range("B1") = Range("A1")  
End Sub

A1:99年10月13日(為公式)
B1:99年10月13日 (為文字)即為當時作業日期
----------------------------------------------------------------------
簡單說明如上...(測試後没問題)
作者: ANGELA    時間: 2010-10-14 14:27

本帖最後由 ANGELA 於 2011-8-15 15:39 編輯

=IF(A1="","",IF(B1="",TEXT(TODAY(),"YYYY/mm/dd"),B1))
需啟用反覆運算.
作者: mycmyc    時間: 2010-10-14 16:41

A1:99年10月13日
公式:=FIXED(YEAR(NOW())-1911,0,TRUE)&"年"&FIXED(MONTH(NOW()),0,TRUE)&"月"&FIXED(DAY(NOW()),0,TRUE)&"日"
A2 :系統日期 改後 A1也便跟A2一樣

=IF(A1="","",IF(B1="",TEXT(TODAY(),"YYYY/mm/dd"),B1))
試了 值多是0
謝謝  還是是不出來
作者: mycmyc    時間: 2010-10-14 16:41

A1:99年10月13日
公式:=FIXED(YEAR(NOW())-1911,0,TRUE)&"年"&FIXED(MONTH(NOW()),0,TRUE)&"月"&FIXED(DAY(NOW()),0,TRUE)&"日"
A2 :系統日期 改後 A1也便跟A2一樣

=IF(A1="","",IF(B1="",TEXT(TODAY(),"YYYY/mm/dd"),B1))
試了 值多是0
謝謝  還是是不出來
作者: ANGELA    時間: 2010-10-15 10:16

本帖最後由 ANGELA 於 2010-10-15 11:38 編輯

要啟用公式的反複運算
作者: mycmyc    時間: 2010-10-15 10:51

回復 13# ANGELA
各複運算  是什麼怎麼做  謝謝
作者: oobird    時間: 2010-10-15 10:58

是反覆運算。
最好還是用ctrl+;
為什麼一定要輸入公式?只為增加困難度?改變反覆運算會影響所有的活頁簿。
作者: mycmyc    時間: 2010-10-15 11:01

回復 15# oobird
以前也是用 ctrl+;  但別人說不方便  所以想改
看來只好繼續 ctrl+;
作者: mycmyc    時間: 2010-10-15 23:04

這問題 應該沒辦法用公式解了
只能用vba 嗎
微軟 可能還沒發現 這問題吧
作者: joviwang    時間: 2010-10-16 10:37

ctrl+;             可以在儲存格中快速輸入系統日期,效果如同手動輸入,無公式存在。
ctrl+shift+;    可以在儲存格中快速輸入系統時間,效果如同手動輸入,無公式存在。
作者: 老夏    時間: 2010-10-16 10:52

鍵入10-16按Enter
簡單易用
只是用個[運算子]
/也行
作者: mycmyc    時間: 2010-10-16 12:19

ctrl+;             可以在儲存格中快速輸入系統日期,效果如同手動輸入,無公式存在。
ctrl+shift+;    可以在儲存格中快速輸入系統時間,效果如同手動輸入,無公式存在。
目前最快的輸入方法  
其實  我用公式 主要是要鎖定 輸入儲存格
讓我 會計小姐 不能補輸入 之前 收支
補輸入 必須在備註欄說明  
能補輸入 問題會很大
作者: PD961A    時間: 2010-10-16 12:59

回復 20# mycmyc


    原文
http://excel.bigresource.com/Lock-in-TODAY-date-r78wMVvM.html

I have since eliminated the function and just type in the date to avoid this but I have about 100 invoices that are saved that I may need to view their "original" dates on.
Now when I need to go back and look at the old invoice or print it again it shows the CURRENT date, not the original date when it was saved. Is there a way to view and/or print out a file while keeping the original date intact or is there a better way to format a date to avoid this happening in the future.
翻譯
http://translate.google.com/translate?hl=zh-TW&sl=en&u=http://www.excelforum.com/excel-general/677762-today-function-and-viewing-or-printing-original-date.html&prev=/search%3Fq%3DUse%2BTODAY%2B()%2Bto%2Bobtain%2Bthe%2Bsystem%2Bdate%2Band%2Bthen%2Bfixed%26hl%3Dzh-TW%26sa%3DG&rurl=translate.google.com.tw&twu=1

結論
No; you're going to have to correct the date manually, based on the previous file save date, or whatever other data you can resurrect.不,你將不得不手動更正日期,根據以前的文件保存日期,或任何其他數據,可以復活。
作者: mycmyc    時間: 2010-10-16 17:04

回復 21# PD961A
我無法 下載 該檔案
但意思好像是無法使用 TODAY()
是嗎  謝謝你
作者: PD961A    時間: 2010-10-16 19:35

回復 22# mycmyc


    是阿
原文的意思是
他的需求是當天用TODAY但是要固定
往後追查時發票日期要能顯示當日
日期所以有點難
原文內容也是建議您用ctrl+;
作者: mycmyc    時間: 2010-10-17 00:56

回復 23# PD961A

ctrl+;  應該是微軟 設計日期方式
          但他沒考慮到 如果保護>>自動產生日期>>不給輸入
          就無法利用公示 必須用VBA
作者: PD961A    時間: 2010-10-17 20:02

回復  PD961A

ctrl+;  應該是微軟 設計日期方式
          但他沒考慮到 如果保護>>自動產生日期>>不給 ...
mycmyc 發表於 2010-10-17 00:56



發表於 昨天&nbsp;10:52 | 只看該作者
#19
夏板主所說   
鍵入10-16按Enter
簡單易用
只是用個[運算子]
/也行


#15
OOBIRD 版主也說
最好還是用ctrl+;
為什麼一定要輸入公式?只為增加困難度?改變反覆運算會影響所有的活頁簿。
作者: PD961A    時間: 2010-10-17 20:16

回復 24# mycmyc
原文http://office.microsoft.com/en-ca/infopath-help/insert-a-date-picker-HP010080907.aspx


翻譯
    http://translate.google.com.tw/translate?hl=zh-TW&sl=en&u=http://office.microsoft.com/en-ca/infopath-help/insert-a-date-picker-HP010080907.aspx&ei=Eee6TKjIHIrIuAPZqbyHAw&sa=X&oi=translate&ct=result&resnum=3&ved=0CBQQ7gEwAg&prev=/search%3Fq%3Dctrl%2B%252B%253B%2Bshould%2Bbe%2Bthe%2Bway%2BMicrosoft%2Bdesigned%2Bthe%2Bdate%26hl%3Dzh-TW%26sa%3DG

她利用"使用日期選擇器"也許可以不用到寫VBA端
作者: mycmyc    時間: 2010-10-17 20:21

回復 25# PD961A
   其實我想法是  日期不給輸入者 回朔  只能輸入當天日期
   只要目的在控管   並不是輸入法問題
   有一個想法
   VB可以叫出一個  日曆表單    EXCEL 可以達到嗎
作者: PD961A    時間: 2010-10-17 20:34

回復 27# mycmyc


    其實如果您真的執著於需要用到VBA去解您的問題
您就將您的問題
PO到程式區去發問
並詳細說明您的需求...且一定要附上檔案
這樣先進及版主們才能很快進入狀況幫您解題

就夏板主及OOBIRD版主所說的能簡單化的何必複雜化呢?
您就加油吧.....
作者: oobird    時間: 2010-10-17 20:37

已經蓋到27樓了,還是沒弄懂樓主真正要的是什麼。
你是怕用ctrl+;輸入的日期會被更改?那保護該儲存格就行了,若你不做保護,不管用公式,用vba,用日曆控件輸入都一樣會被更改的。同時要用控件你必須學會vba語言去控管!
作者: mycmyc    時間: 2010-10-17 22:06

謝謝 oobird  PD961A 二位大大
輸入的日期會被更改?那保護該儲存格就行了  保護後就沒辦法 輸入
所以要用 TODAY() 這便進入我的主題
使用 TODAY() 取得系統日期 然後固定不變 怎模做呢
承各位指導
公式因該沒解  只好求助 VAB  謝謝
作者: oobird    時間: 2010-10-17 22:23

保護後就沒辦法 輸入
我是叫你輸入日期後再保護,又不是叫你先保護再輸入日期。
用vba很簡單,只有幾個字:[a1]=date 即可在a1產生當天日期,不過你不保護該儲存格還是不能預防被修改。
作者: mycmyc    時間: 2010-10-18 17:08

我寫這是公司 現金帳
我給公司會計  輸入  
我不給他輸入  非今日 帳目
所以 我先保護後  給他輸入
因此 只能用抓系統日期
謝謝大家  我研究 研究
這問題 不容易  
好像只能用 VBA 解決
作者: mycmyc    時間: 2010-10-18 17:49

本帖最後由 mycmyc 於 2010-10-18 17:50 編輯

[attach]3263[/attach]
這VBA  好像OK
但不知怎麼 複製到
A2
A3
.
.
.
.
.
作者: oobird    時間: 2010-10-18 18:02

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Count > 1 Or Target.Column > 1 Then Exit Sub
    If Target <> "" Then Cells(Target.Row, 2) = Date
End Sub
作者: mycmyc    時間: 2010-10-18 22:45

回復 34# oobird
  謝謝可以了
作者: baa168    時間: 2010-11-6 00:28

馬上來試試看
笨笨的BAA只會用手動人工輸入.....
感謝分享
作者: aa7551    時間: 2010-12-9 19:06

給mycmyc建議:以下內容跟vba無關,會計何時輸入傳票,如果是當日必須完成,那只有端賴制度來監督,如果,在輸入前我先把系統日期異動,調整成欲輸入日期,輸入後,再把日期改為今日,大大如何防止
作者: fr447446    時間: 2010-12-10 08:50

回復 37# aa7551
這個時候應該要針對電腦的權限做控管了吧
作者: hango_wu    時間: 2010-12-10 17:28

馬上來試試看
感謝分享
作者: brabus    時間: 2010-12-17 23:37


真的ok了呢
高手實在利害啊
謝謝囉
作者: Baracuda    時間: 2011-4-7 09:23

Today()後再複製,然後選擇性貼上值。
作者: 97forum    時間: 2011-4-7 11:38

=IF(A1="","",IF(B1="",TEXT(TODAY(),"YYYY/mm/dd"),B1))
ANGELA 發表於 2010-10-14 14:27

這個公式還是不行,因為只要改過之後所有的日期都還是會變成今日的日期。
作者: ANGELA    時間: 2011-4-7 11:54

本帖最後由 ANGELA 於 2011-4-7 12:33 編輯

回復 42# 97forum


    需啟用反覆運算,直接修改A欄並不會影响,但刪除後再寫入就會.用 ctrl+; 才萬無一失.
作者: newlink    時間: 2014-2-24 18:39

回復 10# ANGELA


    我正好有這樣的問題
我的理解是=IF(A11="","",TEXT(TODAY(),"YYYY/MM/DD")),
可是日期還是會隨系統而變

大大寫的就不會,能否告知為什麼嗎?我該如何解理?
作者: ANGELA    時間: 2014-2-24 22:32

回復 44# newlink


    =IF(A11="","",TEXT(TODAY(),"YYYY/MM/DD"))

  =IF(A1="","",IF(B1="",TEXT(TODAY(),"YYYY/mm/dd"),B1))
  差在第二個IF判斷。如果B1空白給當天的日期,B1不是空白即給B1原來的值(反覆運算需啟動)
作者: newlink    時間: 2014-2-25 20:51

回復 45# ANGELA


    我的函數也沒錯,只是日期不能固定,但是大大寫的就能固定
=IF(A1="","",IF(B1="",TEXT(TODAY(),"YYYY/mm/dd"),B1))
仔細看大大的解釋,還是不能理解,翻成文字:
如果A1空白就是空白,不是就  (如果B1是空白就打上日期,不是就保持空白)
腦筋轉不過來,大大能否再解釋一下
作者: newlink    時間: 2014-2-25 20:53

回復 46# newlink


    還有類似的例子可以參考嗎?
幫助理解。謝謝
作者: cclin0113    時間: 2014-2-26 11:21

回復  ANGELA


    我的函數也沒錯,只是日期不能固定,但是大大寫的就能固定
=IF(A1="","",IF(B1="" ...
newlink 發表於 2014-2-25 20:51

意思應該是
如果A1空白就是空白,不是就  (如果B1是空白就自動帶出今天日期不是空白就保留B1原本的值)
作者: heavenweaver    時間: 2014-2-26 16:59

不論格式怎麼設都會是 TODAY() ,永遠一直更新。
我覺得要另外增設一個Cell做人工的trigger(預設值為False,不讀取 TODAY() ),藉它來判斷是否Cell:A4要使用 TODAY() 取得系統日期,才能固定不變。




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)