人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

EXCELのVBAについて質問です。
指定した複数のシートに処理を行わないようにしたいです。
※処理を場外したいシートは、[店舗リスト]シートと[機械リスト]シート
For Each sht In Worksheets
If sht.Name <> "店舗リスト" Then
Call Syokika(sht)
End If

よろしくお願いします。

●質問者: japan-nan
●カテゴリ:ビジネス・経営 コンピュータ
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● oil999
●67ポイント

以下のようにしてみてください。

For Each sht In Worksheets
 If sht.Name <> "店舗リスト" Or sht.Name <> "機械リスト" Then
 Call Syokika(sht)
 End If
Next

japan-nanさんのコメント
回答ありがとうございます。 上記を実行したのですが、[店舗リスト][機械リスト]も処理されてしまいました。 宣言が間違っているのでしょうか? Dim sht As Worksheet それとも、syokika渡しが間違っているのでしょうか? Sub Syokika(sht As Worksheet) sht.Range("A5:M100").ClearContents End Sub

oil999さんのコメント
失礼しました。条件をまちがえていました。 下記のようにしてみてください。 If sht.Name <> "店舗リスト" And sht.Name <> "機械リスト" Then

2 ● a-kuma3
●67ポイント

上記を実行したのですが、[店舗リスト][機械リスト]も処理されてしまいました。

宣言が間違っているのでしょうか?

いいえ、回答が間違ってます。
条件を結合するのは、Or ではなくて、And です。

For Each sht In Worksheets
 If sht.Name <> "店舗リスト" And sht.Name <> "機械リスト" Then
 Call Syokika(sht)
 End If
Next

3 ● ym39
●66ポイント

これでは?

http://home.att.ne.jp/zeta/gen/excel/c04p55.htm

関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ