| 
    
     |  | こんにちは。かみちゃん です。 
 >エラー内容ですが、
 >"オブジェクト変数または、withブロック変数が
 >設定されていません。"です。
 
 こちらの事象と類似していると思います。
 http://www.vbalab.net/vbaqa/c-board.cgi?cmd=one;no=14755;id=excel
 
 Sub macro0608_3()
 Dim e As Range
 ' 検索行 = 1
 Rows(検索行).Select
 
 For i = 0 To 20
 Set e = Selection.Find(What:="1", After:=ActiveCell, LookIn:=xlValues, _
 LookAt:=xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext _
 , MatchCase:=False, MatchByte:=False)
 'Findで見つからない(Nothing)場合以外のとき
 If Not e Is Nothing Then
 e.EntireColumn.Delete '←ActiveCellではなく、Findで見つけたセルを含む列e.EntireColumnsrとする。
 End If
 Next i
 End Sub
 
 ただし、これでは、21回までしか削除処理をしません。
 それでもいいのでしょうか?
 全容が見えないので、なんとも言えませんが・・・
 なぜ、For〜Nextを使っているのかなど。
 
 |  |