• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセル)

エクセルマクロのエラーメッセージと解決方法

pauNedの回答

  • ベストアンサー
  • pauNed
  • ベストアンサー率74% (129/173)
回答No.1

こんにちは。 >MsgBox MsgBox "得意先コードを入力してください", vbExclamation, "入力エラー" ここはコピーペーストミスだとして、(構文エラー) >check = WorksheetFunction.Match(Clnt(koudo.Text), Range("得意先一覧").Columns(2), 0) ×Clnt ○CInt VBEメニュー[デバッグ]-[VBAProjectのコンパイル]で『Clnt』がハイライトされるはずですが?

isekaoru
質問者

お礼

pauNed様 御指導ありがとうございました。 また、勝手な捕捉質問にも御丁寧に御回答いただき感謝申し上げます。

isekaoru
質問者

補足

pauNed様 1・>check = WorksheetFunction.Match(Clnt(koudo.Text), Range("得意先一覧").Columns(2), 0) ×Clnt ○CInt ●×Clnt    「○CInt」は初めて使用しました。    マニュアル入力する時、小文字の「L」だとばかり思っていました。 ありがとうございました。 2・>MsgBox MsgBox "得意先コードを入力してください", vbExclamation, "入力エラー" ここはコピーペーストミスだとして、(構文エラー) ●コピーペーストミスでした。 申し訳御座いません、今後気をつけます。 ●×Clnt ○CInt このような間違いをしない為に、関数や単語をコピーして利用させていただく方法がありましたら御教示お願い致します。

関連するQ&A

  • 日付の重複した場合にエラー表示をさせたい。

    以下の記述の場合、日付の重複をしてもエラーが出ません。 文字の重複はちゃんと、エラーがでました。 どのように書き換えたら、日付の重複に対してエラーが出るのか教えていただきたいです。 On Error Resume Next check = 0 check = WorksheetFunction.Match(TextBox8.Text, Range("業務報告書データ2").Columns(1), 0) On Error GoTo 0 If check > 0 Then MsgBox "この日付は、すでに入力されています。", vbExclamation, "入力エラー" TextBox8.SetFocus Exit Sub End If

  • [コンパイルエラー 修飾子が不正です]

    ユーザフォームに「ユーザ名」を入力します。  (1)テキストボックスの入力有無の確認  (2)ユーザ名の重複の確認 上記を実行させようとしているのですが、「コンパイルエラー 修飾子が不正です」が表示 されてしまいます。 にわか覚えのVBAでどうしたらよいか・・わかりません。 ご教授願います。。m(__)m。。 **********以下 '[登録ボタン]を押した時の処理 Private Sub user_touroku_button_Click()   ←★ここでエラー発生!! '------------------------------------------------- Dim check As Long '重複有無 Dim rowsCount As Long '表の現在行数 '必須項目のチェック(ユーザ名) If user_txt.Text = "" Then MsgBox "ユーザ(案件)名を入力してください。", vbExclamation, "入力エラー" user_txt.Text.SetFocus Exit Sub End If 'ユーザ名の重複チェック On Error Resume Next check = 0 check = WorksheetFunction.Match(user_txt.Text, Range("ユーザ一覧").Columns(5), 0) On Error GoTo 0 If check > 0 Then MsgBox "このユーザ(案件)名はすでに登録されています", vbExclamation, "重複エラー" user_txt.Text.SetFocus Exit Sub End If '----------------------------------------------------- よろしくお願いします。

  • 入力時エラーメッセージの出し方

    http://oshiete1.goo.ne.jp/qa3745129.htmlを参考に 下記の構文を作りましたが、エラーメッセージが出せなく困っています。 フォームで入力を行う際に、該当ボックスで車番一覧にデータの無いものに関してエラーメッセージを出したいと考えています。 修正箇所に関してご指摘いただければと思います。 よろしくお願いします。 Private Sub CommandButton1_Click() Dim check As Long '重複の有無(=0:重複せず,>0:重複) With Cells(Rows.Count, 1).End(xlUp).Offset(1) .Value = TextBox1.Text .Offset(0, 1).Value = TextBox2.Text .Offset(0, 2).Value = TextBox3.Text .Offset(0, 4).Value = TextBox4.Text On Error Resume Next check = 0 check = WorksheetFunction.Match(CInt(TextBox2.Text), Range("車番一覧", Columns(1))) On Error GoTo 0 If check = 0 Then MsgBox "その車番は登録されていません!", vbExclamation, "入力エラー" TextBox2.SetFocus Exit Sub End If Exit Sub End With TextBox1.Text = "" TextBox2.Text = "" TextBox3.Text = "" TextBox4.Text = "" If TextBox1.Text = "" Then TextBox1.SetFocus End If Range("A1").Sort Key1:=Range("A1"), order1:=xlAscending, Key2:=Range("A1"), order2:=xlAscending, Header:=xlGuess End Sub

  • ユーザーフォーム データ消去の時の処理

    環境:Excel2002です ユーザーフォームのテキストボックスの入力チェックをしています Rem**************** Rem TextBox5 Check Rem**************** Private Sub TextBox5_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean) If Len(Me.TextBox5.Text) = 0 Then '未入力Check If IsNumeric(Me.TextBox5.Text) = False Then '数値入力Check MsgBox "数値で入力してください", _ vbExclamation, "納品書作成ツール" Me.TextBox5.SetFocus Exit Sub End If MsgBox "入力してください", _ vbExclamation, "納品書作成ツール" Me.TextBox5.SetFocus Exit Sub End If Me.TextBox5.Text = Format(Me.TextBox5.Text, "#,##0") End Sub 入力したデータを消去して Enterキーを押すか、マウスでクリックした時のいずれでも Len(Me.TextBox5.Text) = 0 と認知されて "数値で入力してください"のメッセージが表示されてしまいます このメッセージが出ないようにするにはどうしたらいいのでしょうか ご教示願います

  • AccessVBA  SetFocusとGoToControlが正常に作動しない

    重複番号をチェックする機能を作っています。 重複番号が入力されると、エラーメッセージが出て、 OKを押すと番号を入れるテキストボックスにカーソルが移動し、空白にする、 という機能をつけましたが、 何度試してもカーソルが、隣のテキストボックスに移動してしまいます。 (エラーメッセージが出て、空白にするという動作は正常に行われます) SetFocusとGoToControlで試したのですが、 どちらも駄目でした。 原因が分かりません。 どなたかお分かりになりましたら、教えてください。 コードは下記のとおりです。 Private Sub AMコード_AfterUpdate() If DCount("AMコード", "Q_AM担当者登録チェック") >= 1 Then MsgBox ("すでに存在する番号です。別の番号を振りなおしてください。"), vbCritical, "番号重複" AMコード.SetFocus AMコード = "" End If End Sub

  • エクセルVBAについて、ご教授お願いします。

    表を作成しました。      1 商品名 商品区分  単価     2 ミカン   1        \50  3 リンゴ  2         \80 4 モモ   8        \100  Msgboxに商品区分と単価上昇率を入力し、コマンドボタンの単価変更をクリックすると、 エクセル(商品区分、単価)のデータを読み下記の条件で実行します。 ------------------------------------------------------------------------------------ A.単位上昇率に関してエラーチェックを行います。 'B.エラーが見つかった場合にのみ、対象商品区分の単位上昇率を元にワークシート上の明細を更新する 'C.処理条件をメッセージボックスにて表示する。 ------------------------------------------------------------------------------------- どうしても思うような処理を作成できず悩んでいます。 良い方法をご存じの方がいらっしゃいましたら、どうかお教えください。 Option Explicit Sub ユーザーフォーム表示() 'P79 単価変更画面.Show End Sub '単価変更版 '------------------------------------------- 'A.単位上昇率に関してエラーチェックを行います。 'B.エラーが見つかった場合にのみ、対象商品区分の単位上昇率を元にワークシート上の明細を更新する 'C.処理条件をメッセージボックスにて表示する。 '---------------------- Private Sub 終了_click() End End Sub Private Sub 商品区分_change() End Sub Private Sub 単価上昇率_change() End Sub Private Sub 単価変更_Click() Dim i As Long Dim cut As Integer Dim 単価上昇率 As String Dim 商品区分 As String If IsNumeric(単価上昇率) = False Then MsgBox ("数値を入力して下さい。") 単価変更画面.単価上昇率.SetFocus i = Cells(i, 4) End If i = 3 cut = 0 Do While Cells(i, 4) <> "" If Cells(i, 4) = 単価変更画面.商品区分.Text Then   Cells(i, 6) = Cells(i, 6) * (1 + 単価変更画面.単価上昇率.Text / 100) cut = cut + 1 End If    i = i + 1    Loop If cut = 0 Then MsgBox ("該当する商品は存在 しませんでした。 ") 単価変更画面.商品区分.SetFocus Else MsgBox (cut & "件の明細を変更しました。") End If End Sub

  • access setfocusについて

    いつもお世話になっております。 いろいろ調べたのですが行き詰っておりまして ご教授お願いします。 下記記述でsetfocusでエラーになってしまいます。 Private Sub コマンド_Click() If IsNull(Me.テキストボックスコントロール名) Then MsgBox "未入力です" Me.テキストボックスコントロール名.SetFocus End If テキストボックスの処理記述 End Sub https://www.moug.net/tech/acvba/0030005.html こちらを参考にしました。 よろしくお願いします。

  • エクセル VBAのチェックボックスについて

    お読みくださり、ありがとうございます。 エクセル初心者でございます。 エクセルのマクロなのですが、 お詳しい方、是非教えて欲しいです!汗 調子に乗って入力フォームなるものを作りました。 入力フォームの中にて、チェックボックスで「ある」「なし」の項目を入れてみたのですが、チェックしていないのに、値が入る現象が起きています汗 以下、素人が書いたコードを恥を承知で記載させていただきます。 Private Sub CheckBox1_Click() If CheckBox1.Value = True Then OK = "○" End If End Sub Private Sub CheckBox2_Click() If CheckBox2.Value = True Then NO = "×" End If End Sub Private Sub UserForm_Click() End Sub '以下のコードは、登録ボタンがクリックされたときの処理! Private Sub 登録ボタン_Click() If TextBox1.Text = "" Then MsgBox "グッズ名を入力してください。" Exit Sub End If If TextBox2.Text = "" Then MsgBox "アプローチ先を入力してください。" Exit Sub End If With Worksheets("協賛グッズ") With Cells(Rows.Count, 2).End(xlUp) .Offset(1, 0).Value = TextBox1.Text .Offset(1, 1).Value = mori .Offset(1, 2).Value = mori2 .Offset(1, 3).Value = TextBox2.Text .Offset(1, 5).Value = TextBox3.Text .Offset(1, 6).Value = TextBox4.Text .Offset(1, 7).Value = TextBox5.Text .Offset(1, 8).Value = TextBox6.Text End With End With TextBox1.Text = "" TextBox2.Text = "" TextBox3.Text = "" TextBox4.Text = "" TextBox5.Text = "" TextBox6.Text = "" CheckBox1.Value = False CheckBox2.Value = False End Sub 以上です。 おかしなところ満載かと思いますが、 チェックを入れた項目だけ値を入れたいと考えております。 おわかりになるかたおりましたら何卒お助けください汗 よろしくお願いいたします。

  • ACCESSで重複チェック後にフォーカスを移動したい

    Private Sub 会社名_AfterUpdate() ACCESS2003です。 フォーム上で入力後(更新後処理)に重複チェックをしています。 重複したときにエラーメッセージを出してフォーカスさせたいのです。 エラーメッセージまでは上手くいくのですが、フォーカスが移動してくれません。 どこが悪いのでしょうか? Private Sub 会社名_AfterUpdate() Dim i As Integer i = DCount("*", "tbl取引先", "会社名 ='" & Me.会社名 & "'") If i = 1 Then MsgBox [会社名] & " は登録済みです。" Me![会社名].SetFocus Cancel = True End If End Sub よろしくお願いします

  • Excelで検索結果表示の修正

    下記のマクロでA列だけ検索できるようにしたいのですが、どこを修正したらいいのか教えてください。 Private Sub CommandButton1_Click() AAA End Sub Sub AAA() strMoji$ = UserForm1.TextBox1.Text If UserForm1.TextBox1.Text = "" Then MsgBox "検索条件を入力してください。", 48 Exit Sub End If On Error GoTo Fail Cells.Find(What:=strMoji, After:=ActiveCell, LookIn:=xlValues, LookAt:= _ xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _ ).Activate lonNUM& = Selection.Row UserForm1.TextBox2.Text = Cells(lonNUM, 2).Value UserForm1.TextBox3.Text = Cells(lonNUM, 3).Value Exit Sub Fail: MsgBox "該当なし", 48 End Sub Private Sub UserForm_Click() End Sub