Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


8365 / 13644 ツリー ←次へ | 前へ→

【33731】ワークシート名のチェック トミー 06/1/19(木) 16:15 質問[未読]
【33732】Re:ワークシート名のチェック Blue 06/1/19(木) 16:19 回答[未読]
【33734】Re:ワークシート名のチェック Blue 06/1/19(木) 16:25 回答[未読]
【33737】Re:ワークシート名のチェック トミー 06/1/19(木) 17:58 お礼[未読]

【33731】ワークシート名のチェック
質問  トミー  - 06/1/19(木) 16:15 -

引用なし
パスワード
   トミーと申します。
1つのBOOK内で月別のシートを月単位で追加して年間のBOOKを作成したいと考えています。
各シート名は 18.01 18.02 ・・と設定します。当月分(18.02)を作成する時にすでに作成されているかどうかをチェックしたいのですが、その方法がわかりません。既に作成されていれば処理を中止したいのでが、ご存知の方 どうかお教え下さい。お願いします。

【33732】Re:ワークシート名のチェック
回答  Blue  - 06/1/19(木) 16:19 -

引用なし
パスワード
   For Each で全てのシート名を確認するようなことをします。

参考にどうぞ
■ シートが存在するか調べる
http://www.officetanaka.net/excel/vba/tips/tips10.htm

ただ、シートが多くなると効率が悪いので別の方法を考えたほうが良いでしょう。

【33734】Re:ワークシート名のチェック
回答  Blue  - 06/1/19(木) 16:25 -

引用なし
パスワード
   >ただ、シートが多くなると効率が悪いので別の方法を考えたほうが良いでしょう。
ああ、メッチャこれっぽいですね。
On Error GoTo で確認する方法のほうが良いかも。

Private Function ExistSheet(ByVal strName) As Boolean
  Dim ws As Worksheet
  On Error GoTo NOT_SHEET
  Set ws = Worksheets(strName)
  ExistSheet = True
NOT_SHEET:
  Set ws = Nothing
End Function

みたいなの。(手抜き)

【33737】Re:ワークシート名のチェック
お礼  トミー  - 06/1/19(木) 17:58 -

引用なし
パスワード
   Blueさん

ありがとうございます。早速チャレンジしてみます。

8365 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free