「偽」値に基づいて行を削除する必要があるスプレッドシートがあります。ネットを研究し、私はこのサイトからいくつかのコードが見つかりました:マクロが実行されるとExcelのVBA(実行時エラー91)のFALSE値に基づいて行を削除
https://www.extendoffice.com/documents/excel/815-excel-remove-rows-based-on-cell-value.html
Sub DeleteRows()
Dim rng As Range
Dim InputRng As Range
Dim DeleteRng As Range
Dim DeleteStr As String
xTitleId = "Delete Based on Cell Value"
Set InputRng = Application.Selection
Set InputRng = Application.InputBox("Range :", xTitleId, InputRng.Address, Type:=8)
DeleteStr = Application.InputBox("Delete Text", xTitleId, Type:=2)
For Each rng In InputRng
If rng.Value = DeleteStr Then
If DeleteRng Is Nothing Then
Set DeleteRng = rng
Else
Set DeleteRng = Application.Union(DeleteRng, rng)
End If
End If
Next
DeleteRng.EntireRow.Delete '<----- *highlighted error*
End Sub
が、私はエラーを「ランタイム91オブジェクト変数が設定されていません」を取得します。
私は、オブジェクトに「DeleteRng」に設定する必要があることを承知していますが、私はわかりませんよ。私はVBAには新しく、それは私が見落としているマイナーなものかもしれません。
。あなたのエラーがどこで発生していますか? –
ワークシートのどの列にFALSE値が含まれていますか? –
ありがとうございました!列Bには「TRUEまたはFALSE」の値が含まれています。違いがあるかどうかは分かりませんが、これらの値は電子メールの検証機能に基づいています。 だから、列Bに私は=のcheckEmail機能を持っている、そしてそれは、TRUEまたはFALSEを返します。それが文字列または関数であれば違いがありますか? – PatrykChristopher