• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エラー Nextに対するForがありませんについて)

エラー Nextに対するForがありませんについて

このQ&Aのポイント
  • VBAに慣れていない方が、マクロを組んでいる途中にエラーが発生しました。コンパイルエラー「Nextに対するForがありません」というエラーメッセージが表示されます。解決策を教えてください。
  • また、マクロの書き方に関するアドバイスもいただけると助かります。
  • よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.4

NO3です。 (1)追加したFlagのリセットが誤っておりますので訂正します。    Flag = False (2)回答コードのシート名はシミュレート用に変更していますので元に戻して下さい。

msnok
質問者

お礼

お返事ありがとうございます。 御丁寧にソースまで作成ありがとうございました。 構築のやり方など大変参考になりました。 ありがとうございました。 また質問した際はよろしくお願いいたします。

その他の回答 (3)

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.3

一例です。 ・Msgboxの変更 ・Wsのプロパティ追加 ・Endifの追加 ・不要なループの削除(Exit For追加) ・Flagのリセット追加   ReportMaxRow = Worksheets("sheet1").Cells(Rows.Count, 1).End(xlUp).Row For i = 2 To ReportMaxRow If Cells(i, "N").Value = "" Or Cells(i, "O").Value = "" Then MsgBox i & "行目の発注数の入力がませんでした。" & vbCrLf & "処理を中断します", _ vbOKOnly + vbExclamation, "お知らせ" Else AddWsName = Cells(i, "K").Value For Each Ws In Worksheets If Ws.Name = AddWsName Then Exit For End If Next If flag Then Worksheets("sheet1").Cells(i, 1).EntireRow.Copy _ Destination:=Worksheets(AddWsName).Cells(Rows.Count, 1).End(xlUp).Offset(1, 0) flag = True Else Worksheets.Add ActiveWorksheet.Name = AddWsName Worksheets("sheet1").Cells(i, 1).EntireRow.Copy _ Destination:=Worksheets(AddWsName).Cells(Rows.Count, 1).End(xlUp).Offset(1, 0) End If End If Next i

  • FEX2053
  • ベストアンサー率37% (7995/21381)
回答No.2

>実行時エラー 438 オブジェクトは、このプロパティまたはメソッドをサポートしていません。 このエラーは >Dim AddWsName As String 'シート名格納 >Dim Ws As Worksheet 'オブジェクト格納 こうなって >If Ws = AddWsName Then  こうなってる以上当たり前です。 "="の左右は同じ属性じゃないと比較できません。 確認してませんが多分 >If Ws.Name = AddWsName Then で動くんじゃないかと。

msnok
質問者

補足

お返事ありがとうございます。 そうでした^^;ご指摘ありがとうございました。

  • andy_kun
  • ベストアンサー率23% (64/274)
回答No.1

>For Each Ws In Worksheets >If Ws = AddWsName Then >flag = True ここにEnd Ifがないから >Next Ws   ←ここでエラーになります。

msnok
質問者

補足

早いお返事ありがとうございます。早速直してみましたが、 実行時エラー 438 オブジェクトは、このプロパティまたはメソッドをサポートしていません。 と出てしまいました。 どこが問題なのでしょうか…変数AddWsNameを入れる事が出来ないのでしょうか? For Each Ws In Worksheets  If Ws = AddWsName Then ←ここが黄色でマークされています。   flag = True  End If Next Ws

関連するQ&A

専門家に質問してみよう