0

そのため、プログラミングの経験はあまりなく、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 
4

1 に答える 1

3

詰め込むテキストが長い場合は、「&」と _ を使用してチャンクに分割する必要があります。

このような

aString を文字列として暗くする

aString = "four score and seven years ago our fathers " & _ 
    "set forth on this continent a new nation, " & _
    "conceived in liberty and dedicated to the " & _
    "proposition that all men are created equal."

& と _ の間には必ずスペースを入れてください。

SMW

于 2013-07-31T20:26:13.037 に答える