2017-02-16 15 views
0

GoogleスプレッドシートでExcelでできることを複製しようとしています。複数のリスト値を選択して同じセルに記録します。複数のリスト値を選択して同じセルに記録する

https://www.youtube.com/watch?v=8x6YUsl7Ld4&feature=youtu.be

そして、このコード:

は、私はこのビデオを使用

Private Sub Worksheet_Change(ByVal Target As Range) 
'Code by Sumit Bansal from www.trumpexcel.com 
' To Select Multiple Items from a Drop Down List in Excel 
Dim Oldvalue As String 
Dim Newvalue As String 
On Error GoTo Exitsub 
    If Target.SpecialCells(xlCellTypeAllValidation) Is Nothing Then 
    GoTo Exitsub 
    Else: If Target.Value = "" Then GoTo Exitsub Else 
     Application.EnableEvents = False 
     Newvalue = Target.Value 
     Application.Undo 
     Oldvalue = Target.Value 
     If Oldvalue = "" Then 
      Target.Value = Newvalue 
     Else 
      Target.Value = Oldvalue & ", " & Newvalue 
     End If 
    End If 
Application.EnableEvents = True 
Exitsub: 
Application.EnableEvents = True 
End Sub 

をそして、それは、Excelでの作業のみ機能はGoogleシートに失われてしまうことを見つけるために得ることができました。

Googleのアプリスクリプトで同等のコードを教えてください。どこに配置すればいいですか?

答えて

0

google-apps-scriptで同じことをするスクリプトです。警告ただし、複数の項目を選択した後

enter image description here
2.以下のように
1.データの検証がShow warningなくReject Inputに有効にする必要があり、検討中の細胞が警告を示すだろうしている。どのように(私は把握できませんでしたセル上の迷惑な警告を軽減するには、セルのヘルプコンテキストを「警告を無視して」に置き、上記の画像のShow validation help text:にチェックを入れます。
3.動作は、データの検証がありALL範囲は、あなたが気に範囲にONLYを適用するには十分注意をしてくださいに適用されます。

function onEdit(e){ 
    var editedRange=e.range; 
    var rule = editedRange.getDataValidation(); 
    if(rule!=null) //Act only if the cell has a data validation 
    if (!(e.value.equals("") || e.oldValue == null)) //No need to do anything funky if user clears everything or if previous contents were empty 
     if(e.oldValue.indexOf(e.value) !=-1) //Check if new selected value has already been chosen before 
     editedRange.setValue(e.oldValue) //If already chosen then don't select again. 
     else 
     editedRange.setValue(e.oldValue+","+e.value) // Show old+new selection. 
} 

onEditスプレッドシート(​​個々のSheet S)への編集があるたびに呼び出されるシンプルなトリガ機能です。
eは、編集した情報を含むEvent Objectです。
同じhereに関する詳細なドキュメントがあります。
thisは、プログラムによってデータ検証を設定する場合に役立ちます。

関連する問題