Excel VBA質問箱 IV

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

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


9016 / 13646 ツリー ←次へ | 前へ→

【29787】選択するシートが無かったら?? たこ 05/10/13(木) 18:10 質問[未読]
【29790】Re:選択するシートが無かったら?? MARBIN 05/10/13(木) 19:16 回答[未読]
【29792】Re:選択するシートが無かったら?? MARBIN 05/10/13(木) 19:22 発言[未読]
【29794】Re:選択するシートが無かったら?? hine 05/10/13(木) 19:43 発言[未読]
【29795】Re:選択するシートが無かったら?? awu 05/10/13(木) 19:45 回答[未読]
【29797】Re:選択するシートが無かったら?? MARBIN 05/10/13(木) 20:12 発言[未読]
【29805】Re:選択するシートが無かったら?? たこ 05/10/13(木) 22:31 お礼[未読]
【29811】Re:シート名存在チェック関数 かみちゃん 05/10/14(金) 0:29 発言[未読]

【29787】選択するシートが無かったら??
質問  たこ  - 05/10/13(木) 18:10 -

引用なし
パスワード
   あるEXCEL Fileを マクロで自動で開き
自分の希望するシートを選択するようにしていますが
希望するシートが無く エラーが出てしまいます

On Error・・・を使用すると 希望しないシートを選択してしまいます

希望するシートが無かったら こうすると言うようにしたいのですが
ウマくいきません どう設定すればいいのでしょう??

if sheets(***) is nothing then
  sheets(@@@).select
endif

などでも 駄目なんです・・・

【29790】Re:選択するシートが無かったら??
回答  MARBIN  - 05/10/13(木) 19:16 -

引用なし
パスワード
   もっとましな方法があると思いますが、識者から
の回答があるまでのつなぎとして・・・。

dim i as long
dim j as long
dim k as long
dim shtmei as string
 shtmei = "**"
 k = 0
 j =worksheets.count
 for i = i to j
  if worksheets(i).name = shtmei then
  Worksheets(i).select
  k = 1
  exit for
  end if
 next
 if k = 0 then Sheets("@@@").select

【29792】Re:選択するシートが無かったら??
発言  MARBIN  - 05/10/13(木) 19:22 -

引用なし
パスワード
   ???
提示したコードはエラーになりますね。
原因がわかりましたらレスします。

【29794】Re:選択するシートが無かったら??
発言  hine  - 05/10/13(木) 19:43 -

引用なし
パスワード
   ▼たこ さん:
こんばんは

Dim myShi As Worksheet
For Each myShi In Worksheets
  If myShi.Name <> "希望するシート" Then
    Worksheets("特定のシート").Select
  End If
Next

ではどうですか?
勘違いならすいません

【29795】Re:選択するシートが無かったら??
回答  awu  - 05/10/13(木) 19:45 -

引用なし
パスワード
   Sub test()
Dim N As Integer
For N = 1 To Worksheets.Count
  If Worksheets(N).Name = "@@@" Then
    Worksheets(N).Activate
    Exit For
  End If
Next N
End Sub

とか、または、

Sub test2()
Dim Sh As Worksheet
For Each Sh In Worksheets
  If Sh.Name = "@@@" Then
    Sh.Activate
    Exit For
  End If
Next Sh
Set Sh = Nothing
End Sub

【29797】Re:選択するシートが無かったら??
発言  MARBIN  - 05/10/13(木) 20:12 -

引用なし
パスワード
   先ほどの私のコードのエラーの原因はあっけない
ものでした。

> for i = i to j

  for i = 1 to j
でした。
失礼しました。

【29805】Re:選択するシートが無かったら??
お礼  たこ  - 05/10/13(木) 22:31 -

引用なし
パスワード
   ▼MARBIN さん:
>先ほどの私のコードのエラーの原因はあっけない
>ものでした。
>
>> for i = i to j
>↓
>  for i = 1 to j
>でした。
>失礼しました。


MARBIN さん 皆さん
ありがとうございます
これで何とかいけそうです ぺこ <(_ _)>

【29811】Re:シート名存在チェック関数
発言  かみちゃん  - 05/10/14(金) 0:29 -

引用なし
パスワード
   こんにちは。かみちゃん です。

すでにいろんな方からコメントが出ており、すでに解決済みかと思いますが、

>希望するシートが無かったら こうすると言うようにしたいのですが

シート名存在チェック関数を紹介したことがあります。
http://www.vbalab.net/vbaqa/c-board.cgi?cmd=one;no=11259;id=excel
コメントを書かれた方々と手法は同じですが、参考にしてみてください。

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