2017-08-04 23 views
2

こんにちは、ありがとうございました。ドロップダウンリストに日付ピッカーを追加する方法

Googleスプレッドシートで実行しようとしているのは、データ確認のドロップダウン選択にデータ確認の日付選択ツールを追加することです。

私は従業員の開始日と終了日の状況で使用するためにこれを行いたいと考えています。具体的には終了日です。考え方は、ドロップダウンの選択から、 "Choose One"、 "Present"、または "Date"オプションを選ぶことができます。ここでは、 "Date"オプションでデータ検証日付ピッカーが有効になります。

「日付」を選択した場合は、すぐに日付選択ツールが表示されます。

function listCalendar() { 

// Set the data validation for cells in column H6 thru H1000 to require "Choose One", "Present", or "Date", with a dropdown menu. 
var cell = SpreadsheetApp.getActive().getSheetByName('Employees').getRange('H6:H100'); 
var rule1 = SpreadsheetApp.newDataValidation().requireValueInList(['Choose One', 'Present', 'Date']).build(); 

// Set the "Date" option in the dropdown menu to activate a date picker. 
var rule2 = SpreadsheetApp.newDataValidation().requireDate().build(); 
    if (cell == 'Date') {cell.setDataValidation(rule2);} 
    else {cell.setDataValidation(rule1);} 

} 

が支援をありがとうございました:

以下は、私がこの機能のために働くために取得しようとしてきたコードです!

答えて

2

次のコードを追加して、スプレッドシートを編集トリガーに設定します。これはあなたにスタートを与えることを願っています。リッツは私が私がのgetValueを使用している必要がある場所とするために許可される機能の一部のonEditにgetRangeを使用していたことに気づい掲載コードを見た後にザ・リッツ^^

function onEdit() { 
// Set the data validation for cells in column H6 thru H1000 to require "Choose One", "Present", or "Date", with a dropdown menu. 
var cell = SpreadsheetApp.getActive().getActiveSheet().getRange("H6:H100"); 
var rule1 = SpreadsheetApp.newDataValidation().requireValueInList(['Choose One', 'Present', 'Date']).build(); 
var rule2 = SpreadsheetApp.newDataValidation().requireDate().build(); 
     if (SpreadsheetApp.getActive().getActiveSheet().getActiveCell().getValue() == 'Date') { 
     SpreadsheetApp.getActive().getActiveSheet().getActiveCell().setDataValidation(rule2); 
     } 
    else { 
     cell.setDataValidation(rule1); 
     } 
} 
+0

ありがとうリッツ!私はあなたの助言を得て、結果とともにこのポストに戻ってきます。 – Azualend

0

巨大な感謝お互いの間を行き来するルール。したがって、これが他の誰かに役に立った場合には、以下のコードが完成しました。

function onEdit() { 

var ss = SpreadsheetApp.getActive(); 
var employees = ss.getSheetByName('Employees'); 
var cellrange = employees.getRange('H6'); 
var cellvalue = cellrange.getValue(); 

// Set the data validation to require "Choose One", "Present", or "Date", with a dropdown menu. 
var rule1 = SpreadsheetApp.newDataValidation().requireValueInList(['Choose One', 'Present', 'Date']).build(); 

// Set the "Date" option in the dropdown menu to activate a date picker. 
var rule2 = SpreadsheetApp.newDataValidation().requireDate().build(); 

if (cellvalue == 'Date') {cellrange.setDataValidation(rule2);} 
else {cellrange.setDataValidation(rule1);} 

} 
関連する問題