Sub main()
Dim count As Integer
Dim i As Integer
count = Range("Q" & Rows.count).End(xlUp).Row
MsgBox count
For i = 2 To count
If Cells(i, "Q").Value = 2 Then
Sheets(1).Rows(i).EntireRow.Delete
End If
Next i
End Sub
コードがすぐに機能しないのはなぜですか?私はExcelのVBAコードの上に実行すると、それはいくつかの行を削除してから、このメッセージと一緒に出ています:特定の列に特定の値を持つ行を削除する
run time error 13
それはどういう意味しますか?時々私はこのメッセージを得る:上記のVBAコードで
type mismatch
を、私は、そのQ
列の値が2であるが、それは働いていない行を削除します。バグがどこにあるのか教えてください。
何が起こっているか教えてください。コードが動作していますが、いくつかの行が削除され、実行時エラー13で中断します。Q列を表示するためにEXCELファイルを開いたとき、Q列の行の一部が#REF!
でした。
これが原因だと思いますが、どうすればいいですか?コードを正しく動作させるにはどうすればよいですか?私はそれに1,2値からなるQ列を持っています。その中に2を持つQ列の行を削除する必要があります。つまり、行全体を意味します。
エラーを再現できません。手続きがあなたの質問に止まるときに 'i'の値を編集できますか? – Jacob
テストデータの最後の行にQ列に2がありますか? – James