2012-02-11 11 views
2

セルの範囲でデータ検証を行う必要があります。唯一のオプションが現在の日付であるドロップダウンリストが必要です。現在の日付を取得するには、= TODAY()を使用できます。問題は、日付は静的ではないということです。シートが再計算されると、すべての日付も再計算されます。セルの横にあるドロップダウンを使って、Googleスプレッドシートを現在の日付のセルに更新するにはどうすればよいですか?

私は同じままにする必要があります。

どうすればこの問題を回避できますか?

私は答えがあるかもしれないブログを見つけました、しかし、私は著者が自分のスプレッドシートにしたかを確認カント:私は「のDAGを言うのドロップダウン項目を持つことになります

http://yogi--anand-consulting.blogspot.com/2012/01/yogisave-date-cell-was-changed.html

おかげ

+0

あなたは、単一の値を持つドロップダウンリストを持っている必要がありますなぜ?エントリーフォームにTODAY()を入れて、* value *をシートにコピーできないのはなぜですか? – Guy

+0

スプレッドシートを使用している人もいるでしょうし、いつもコピー/ペーストしたくない人もいるでしょう。だから私はそれらのための選択項目を作って、日付を再計算せずにセルに現在の日付を入れたい – Kenci

+0

あなたの質問を「Googleスプレッドシートを現在の日付でセルを更新するにはどうすればいいですか?ユーザーの行動にのみ反応しますか?」言い換えれば、それはドロップダウンであるか、または「更新日」とラベル付けされたボタンである可能性がありますか? –

答えて

4

をdato "と表示されます。次に、セル内のテキストが "dags dato"に変更されたかどうかを調べるeventlistenerを使用します。

もしそうなら、それはこのように、セル内の現在の日付を置く:

function onEdit(event) 
{ 
    var ss = event.source.getActiveSheet(); 
    var r = event.source.getActiveRange(); 

    var currentValue = r.getValue(); 

    if(currentValue == "dags dato") 
    { 
    var dd = Utilities.formatDate(new Date(), "GMT", "yyyy-MM-dd"); 
    r.setValue(dd); 
    } 
} 
関連する問題