こんにちは、私は正常に動作する通常のExcelシートにvbaコードがあります。私は仕事をgoogleシートで行うために何かをしたい。あなたのシートにドロップダウンを使用したときに検証リストの変更元(Googleシート)を変更すると、自動的に検証エントリが変更されます
だから、基本的には、このマクロは即座にあなたが同じ結果を持って式に行った選択を変更します。
は、私はこのコードが何をするのか説明しましょう。
元のリストの選択肢の値を変更すると、同じ値の「位置」に現在解決されているすべてのセルがすべての式なので自動的に更新されます。
Googleスプレッドシートで誰もが同じように手助けできますか?
これは、VBAコードは、あなたたちは
https://drive.google.com/file/d/0B8OCuWHp5L8TWDFyR0xDV1d0bTA/view?usp=sharing
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim strValidationList As String
Dim strVal As String
Dim lngNum As Long
On Error GoTo Nevermind
strValidationList = Mid(Target.Validation.Formula1, 2)
strVal = Target.Value
lngNum = Application.WorksheetFunction.Match(strVal, Range(strValidationList), 0)
If strVal <> "" And lngNum > 0 Then
Application.EnableEvents = False
Target.Formula = "=INDEX(" & strValidationList & ", " & lngNum & ")"
End If
Nevermind:
Application.EnableEvents = True
End Sub
アンオンのおかげでありがとう。あなたが説明したように、それは私が欲しかったやり方ではうまくいくと思われるが、まだまだ私は3行目の "TypeError:Undefinedから"プロパティ "source"を読み込めません。 どうすれば解決できますか? また、シート内に多数のドロップダウンを追加する予定です。そこで、このスクリプトを自分のシート内のすべてのドロップダウンに適用する簡単な方法があります。 乾杯、 –
StackOverflowは、あなたの特定の状況に合わせて特別なソリューションを得るための適切な場所ではありません。おそらく、まずGoogle Apps Scriptのドキュメントに精通しているはずです。https://developers.google.com/apps-script/関数の引数( 'e')は、スプレッドシート自体から生成されたイベントオブジェクトです。実際にスプレッドシートに値を入力しないかぎり、それが動作するとは思わないでください。 onEdit()は基本的にイベントハンドラなので、関数を手動で実行すると、もちろん 'e'は '未定義'になります –
Antonさん、トリガの使い方を掘り下げていますが、コードは私が期待したとおりに動作していません。私はこのリンクのためにこのシートを編集する許可を与えました。 https://docs.google.com/spreadsheets/d/1ztE_yVkM-bIzQ8y5xuBw9zUxme7Q90FjTPur3fpqbJM/edit?usp=sharingあなたが私を助けることができるなら、私はそれを評価するでしょう。ありがとうございました... –