[[20120513185056]] 『VBA:複数枚のsheet削除』(さんちゃん) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『VBA:複数枚のsheet削除』(さんちゃん)

EXCEL2010
OS Win7 64bit

いつも参考に拝見させていただいています。
さて、表題の件ですが、シート(仮名)A/B/Cがあり、常に3枚のシートで運用したいので不要シートがあった場合削除したいのですが。Userformを使用していますので、以下のようにしています

  ''''''不要シート削除構文
Private Sub UserForm_Initialize()
Dim ws As Worksheet
Application.DisplayAlerts = False
For Each ws In Sheets
    If ws.Name <> "A" Or "B" Or "C" Then ws.Delete  ←ここで
Next
Application.DisplayAlerts = True

こんな感じで作成しましたが、←部で「実行エラー13」型が一致しませんとなります。
Orが使えないと思うのですが、どのような方法があるのでしょうか?
どなたか、ご教授お願いします。


 Or や And は (条件) Or (条件) や (条件) And (条件) のように使います。
 (条件) の部分は条件文として成り立つ式でなくてはなりませんから、
 "B" や "C" だけでは不十分です。

 また、今回やりたいことは Or ではなく And だと思いますので下記にしてみてどうでしょうか。 
    If ws.Name <> "A" And  ws.Name <> "B" And  ws.Name <> "C" Then ws.Delete
 (Mook)


(Mook)様
早速の回答ありがとうございます。
なるほど、そーでしたか、OrではなくAndで行うのですね。
まだまだ、未熟者ですが今後ともよろしくお願いいたします。
Andで行った結果うまくいきました。
多分、私がAndの発想が出ても"A" And”B"And"C" ws.Name となっていたと思います。
ありがとうございましたm(..)m
以上

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.