ここでvbbaで初心者。私は単純なFor Eachループ(セル0を無効にする)を、別のFor Eachループ内にネストすることでブック内のすべてのワークシートに適用しようとしています。VBA:ネストされたFor Eachワークシートを変数として使用してループする
私は以下のコードを実行しようとするとエラーが発生し、Setステートメント内の変数としてワークシートを持つことと関係があるかどうかはわかりません。
これを理解して解決策を見つけることはできないようです。
おかげ
Sub deleteNegativeValue()
Application.DisplayAlerts = False
Dim lastRow As Long
Dim ws As Worksheet
Dim cell As Range
Dim res As Range
For Each ws In Workbooks(1).Worksheets
Set res = ws.Range("1:1").Find("Value", lookat:=xlPart)
lastRow = ws.Range("A" & Rows.Count).End(xlUp).Row
For Each cell In Range(ws.Cells(1, res.Column), ws.Cells(lastRow, res.Column))
If cell < 0 Then cell = ""
Next
Next
End Sub
エラーとは何ですか? –
実行時エラー '91':オブジェクト変数またはWithブロック変数が設定されていません。エラーは2番目のビットごとにあるようです – Kactus88
以下の提案に加えて、 "値"が見つかったかどうかをテストする必要があります。おそらく何も含まれていない範囲オブジェクトを返しています。 –