|
こんにちは。かみちゃん です。
>エラー内容ですが、
>"オブジェクト変数または、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を使っているのかなど。
|
|