これは単純な問題のように思えるかもしれませんが、非常にイライラさせられました。非常にユーザーフレンドリーにしたいスプレッドシート用に、VBA でいくつかの (比較的単純な) マクロを作成しました。
つまり、すべてのマクロをボタンで実行したいのです。ただし、ボタンをマクロに割り当てようとすると、次のエラーが発生します。
数式が複雑すぎてオブジェクトに割り当てられません
これは、空のサブルーチンに割り当てようとしても発生します。それは機能しましたが、私が書いた最初のマクロに対してのみでした。モジュールに他のサブルーチンを追加すると、新しいボタンをマクロに割り当てることができなくなりました。
これは私が書いたコードです:
Sub Button1_Click()
selName = Range("C2").Value
div = Range("E2").Value
cost = Range("F2").Value
diff = div - cost
If diff < 0 Then
diff = 0
End If
Range("G2").Select
ActiveCell.FormulaR1C1 = diff
x = Range("A2").Value + 1
Worksheets("VIP_TEMPLATE.PIVOT").Select
Range("J" & x).Select
ActiveCell.FormulaR1C1 = diff
Worksheets("CALCULATE").Select
Range("F2").Select
ActiveCell.ClearContents
End Sub
モジュールに別のサブルーチンがありますが、これが問題の原因になっているのではないでしょうか? これは、データをコピーして新しいワークシートに貼り付けるだけで、ルーチンにボタンを割り当てることができたからだと思います。私は(私が思うに)問題のある文字を使用していないので、ファイルパスとは何の関係もないと思います。