しかし、コンパイルエラーが発生し、ByVal BeforeDate As Variantの部分が問題の原因となっています。
Excel ユーザーフォームからマクロを参照
ExcelのVBAでマクロを作成しています。
また、フォームも作成し、使うことにしています。
----Module1に---------
Public Sub Main()
Public Sub First()
Public Sub Second()
Public Sub DoJob()
Public Sub After()
Public Sub End()
----------------------
というマクロ名で組んでおり、
内容はただただ簡単な計算になっています。(作成できています)
Public Sub Main()では、
Public Sub First()
Public Sub Second()
Public Sub DoJob()
Public Sub After()
全て実行するようにプログラムしてあります。
そして、UserForm1を使用し、
UserForm1からマクロを参照し、
実行し、Excelのほうにデータを記入しようと思っています。
そのために、
UserForm内では
ボタンやコンボボックスがあり、
ボタンをクリックするとコンボボックスのデータを参照し
マクロを実行する手前まで作成することができます。
UserFormのボタンをクリックした後、
色々な処理をし(ここは上手くいきました)
コンボボックスのデータを「Date」とし、
Call Main(Date) をループで回しています。
また、上記のマクロは
Public Sub Main(ByVal BeforeDate As Varient)
Public Sub First(ByVal BeforeDate As Varient)
Public Sub Second(ByVal BeforeDate As Varient)
Public Sub DoJob(ByVal BeforeDate As Varient)
Public Sub After(ByVal BeforeDate As Varient)
と書いてあります。
しかし、
コンパイルエラー:
ユーザ定義型は定義されていません。
と出て、実行する事ができません。
()の中にあるByVal BeforeDate As Varientを消すと
マクロとして認識されるようなのですが、
何が悪いのでしょうか?
分かりにくくて申し訳ありませんが、回答よろしくお願い致します。
お礼
早い回答ありがとうございます! 実行できました! スペルミスだったのですね・・・ 出来なくてあせってしまいました(笑 choco-ballさん、ありがとうございました!