そのため、プログラミングの経験はあまりなく、VBA の経験はほとんどありません。私の主な問題は、コード内の式が 1 行を超えており、アンダースコア、スペースを含めて新しい行を開始すると、エラーが発生することです。
コードの写真を添付しました。コードを取得するためにマクロを記録したため、不要なコード行がある可能性があります。
私がやろうとしていることの詳細:
「データ検証」を使用してセルに含まれるリストがあり、そのリストからの選択に基づいて、下のセルが特定のリストを出力します。
これらのリストの情報は、ブック内の他のワークシートに保存されます。
「データ検証」リスト ソース ボックスで、複数の入力に対して機能する IF ステートメントを開発することができました。ただし、84 の可能性があり、リスト ソース ボックスの個々の if ステートメントをすべて収めることができませんでした。したがって、いくつかの入力「データ検証」ifステートメントのマクロを記録することにより、VBAを使用して式を手動で入力してみることにしました。
コードは次のとおりです。
Sub HelpSetUp()
With Selection.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:= _
"=if($B$2='fuel columns'!$A$1,agriculturalbiproduct,if($B$2='fuel columns'!$B$1,agriculturalresidue,if($B$2='fuel columns'!$C$1,agriculturalwaste,Nofuel)))"
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
End With
End Sub