質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.47%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Q&A

解決済

1回答

1947閲覧

Excel VBAのsubまたfunctionが定義されませんのエラー

rura

総合スコア70

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

0グッド

0クリップ

投稿2018/04/17 10:51

前提・実現したいこと

こんちわ。Excel VBA 初心者です。
会員登録画面を作成しています。
下記エラーバグの削除方法がよくわかりません。
どなたかお願いします。
■■な機能を実装中に以下のエラーメッセージが発生しました。

発生している問題・エラーメッセージ

引数の判定するコードで コンパイルエラー subまたfunctionが定義されませんのエラー

該当のソースコード

Option Explicit Public Sub LS_BookReturn_Click() Dim TextCamnameS As String Dim Textdescrip As String Dim TextCskiDay As String Dim Textemployees As String Dim TextFounding As String ' Dim Textoname As String Dim Textzipcode As String Dim ComBprefectures As String Dim Texminicic As String Dim Textaddress As String ' Dim Textworkplice As String TextCamnameS = clientForm.TextCamnameS.Text Textdescrip = clientForm.Textdescrip.Text TextCskiDay = clientForm.TextCski.Text Textemployees = clientForm.Textemployees.Text TextFounding = clientForm.TextFounding.Text Textoname = clientForm.Textoname.Text Textzipcode = clientForm.Textzipcode.Text 'ComBprefectures = clientForm.ComBprefectures.Text Texminicic = clientForm.Texminicic.Text Textaddress = clientForm.Textaddress.Text Textworkplice = clientForm.Textworkplice.Text If LF_user(TextCamnameS, Textdescrip, TextCskiDay, Textemployees, Textoname, Textzipcode, Texminicic, Textaddress, Textworkplice) = 0 Then '会員No、氏名が未入力でなければ、情報を登録しましたの表示' MsgBox "「返却情報を登録しました」" End If End Sub Public Function LF_BookReturnRegistration(ByVal Textdescrip As String, ByVal TextCamnameS As String, ByVal Textemployees As String, _ ByVal TextCskiDay As String, ByVal Textemployees As String, ByVal TextFounding As String, ByVal Textoname As String, _ ByVal Textzipcode As String, ByVal Texminicic As String, ByVal Textaddress As String, _ ByVal Textworkplice As String) As Integer If TextCamnameS = "" Or Textdescrip = "" Or Textemployees = "" Then MsgBox "「入力がエラーです。」", vbOKOnly + vbExclamation, "エラーメッセージ" LF_user = -1 Exit Function End If 'もし、該当物ならば罫線と中央配置を設定 With Sheet2.Cells(D4) .Borders(xlEdgeTop).LineStyle = xlContinuous .Borders(xlEdgeBottom).LineStyle = xlContinuous .Borders(xlEdgeLeft).LineStyle = xlContinuous .Borders(xlEdgeRight).LineStyle = xlContinuous .HorizontalAlignment = xlCenter '(返却日)4列目にTextemployeesを入れる Sheet3.Cells(BNumC, 4).Value = Textemployees End With LF_user = 0 End Function

補足情報(FW/ツールのバージョンなど)

Windows10 、Excel 2010

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2018/04/17 11:26

質問テンプレートで関係ない箇所の文言は削除しないと、意味が通じにくいですよ。また、VBAコードの中に、エラー箇所はこことか書いてくれないとさっぱりわからない。
sazi

2018/04/17 13:54

現状での修正したコードが提供されないと、的確な回答にはなりません。既に回答がついているので、質問に修正後のコードを追加してみて下さい。
guest

回答1

0

ベストアンサー

ひとまず現時点で言えること。

LF_user って自作関数か何かだと思うけど、そこが示されていないと判断つかない。

LF_BookReturnRegistrationって自作関数で
LF_user = 0 とか書いてるけど
どこかコピペミスしていませんか。
それとも、LF_user が LF_BookReturnRegistration なのでしょうか。
今一度整理してみてください。

投稿2018/04/17 11:29

編集2018/04/17 11:31
退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

rura

2018/04/17 11:54

あ!なるほど!確認したところ、下記を修正しました Private Sub ToggleButton1_Click() LF_BookReturnRegistration 'お客様プロフ設定 End Sub Private Sub ToggleButton1_Click() LF_user 'お客様プロフ設定 End Sub Public Function LF_user → Public Function LF_BookReturnRegistration しかし、引数を省略できませんというエラーが出ます。 (´;ω;`)
退会済みユーザー

退会済みユーザー

2018/04/17 12:01

LF_BookReturnRegistration()って関数にいっぱい引数(パラメータ)が定義されているので、省略せず全部与える必要がありそうです。 LF_BookReturnRegistration()を呼び出しているSub内で、 Dim TextCamnameS As String Dim Textdescrip As String Dim TextCskiDay As String Dim Textemployees As String Dim TextFounding As String ' Dim Textoname As String Dim Textzipcode As String Dim ComBprefectures As String Dim Texminicic As String Dim Textaddress As String ' Dim Textworkplice As String TextCamnameS = clientForm.TextCamnameS.Text Textdescrip = clientForm.Textdescrip.Text TextCskiDay = clientForm.TextCski.Text Textemployees = clientForm.Textemployees.Text TextFounding = clientForm.TextFounding.Text Textoname = clientForm.Textoname.Text Textzipcode = clientForm.Textzipcode.Text 'ComBprefectures = clientForm.ComBprefectures.Text Texminicic = clientForm.Texminicic.Text Textaddress = clientForm.Textaddress.Text Textworkplice = clientForm.Textworkplice.Text 的なことが必要なんじゃないかと思えますが。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.47%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問