過去ログ

                                Page      87
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫   
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ▼worksheetの検索するには?  いぬだわん 02/9/16(月) 11:30
   ┣Re:worksheetの検索するには?  Nakamura 02/9/16(月) 12:04
   ┃  ┗被ってもーた(T_T)  つん 02/9/16(月) 12:14
   ┃     ┗Re:被ってもーた(T_T)  Nakamura 02/9/16(月) 13:13
   ┃        ┗ありがとうございました  いぬだわん 02/9/17(火) 13:13
   ┗Re:worksheetの検索するには?  つん 02/9/16(月) 12:11

 ───────────────────────────────────────
 ■題名 : worksheetの検索するには?
 ■名前 : いぬだわん
 ■日付 : 02/9/16(月) 11:30
 -------------------------------------------------------------------------
   こんにちは。
質問ですが、Worksheetの検索するにはどうしたらいいのでしょうか?

例えば、book1.xlsに「パンダ」というWorksheetがあるかどうか検索します。
あればその「パンダ」というWorksheetをActiveにし、
なければ「ありません」というメッセージを出して、book1.xlsを閉じます。

教えていただければありがたいです。
お願いします。
 ───────────────────────────────────────  ■題名 : Re:worksheetの検索するには?  ■名前 : Nakamura  ■日付 : 02/9/16(月) 12:04  -------------------------------------------------------------------------
   ▼いぬだわん さん:
>こんにちは。
>質問ですが、Worksheetの検索するにはどうしたらいいのでしょうか?
>
>例えば、book1.xlsに「パンダ」というWorksheetがあるかどうか検索します。
>あればその「パンダ」というWorksheetをActiveにし、
>なければ「ありません」というメッセージを出して、book1.xlsを閉じます。
>
>教えていただければありがたいです。
>お願いします。

こんにちは

こんな感じでどうでしょう。

Sub test()

  Dim wksh As Worksheet
   
  For Each wksh In Workbooks("Book1").Worksheets
  
    If wksh.Name = "パンダ" Then
    
      wksh.Activate
      Exit Sub
    
    End If
    
  Next
  
  MsgBox "シートパンダが有りません"
  
  Workbooks("Book1").Close False

End Sub

それでは
 ───────────────────────────────────────  ■題名 : 被ってもーた(T_T)  ■名前 : つん <honey@sweetparty.ne.jp>  ■日付 : 02/9/16(月) 12:14  -------------------------------------------------------------------------
   Nakamura さん、こんにちは
被ってしまいました(>_<) すんません。
Nakamuraさんのが丁寧ですね♪
 ───────────────────────────────────────  ■題名 : Re:被ってもーた(T_T)  ■名前 : Nakamura  ■日付 : 02/9/16(月) 13:13  -------------------------------------------------------------------------
   ▼つん さん:
>Nakamura さん、こんにちは
>被ってしまいました(>_<) すんません。
>Nakamuraさんのが丁寧ですね♪
つんさん こんにちは

ご丁寧な挨拶有り難うございます。

For Each In

の場合途中で抜ける時は

>Set ws = Nothing

を入れるべきですよね。(私のコードではwsをwkshになります。)
つんさんコード見て気付きました。
勉強になりました。m(_ _)m
 ───────────────────────────────────────  ■題名 : ありがとうございました  ■名前 : いぬだわん  ■日付 : 02/9/17(火) 13:13  -------------------------------------------------------------------------
   ▼Nakamura さん:
▼つん さん:
こんにちは。
やってみたらうまくできました。
ありがとうございました。

都合でなかなか返答を見ることができませんで、
お礼が遅れたことをお詫びします。

またよろしくおねがいします。
 ───────────────────────────────────────  ■題名 : Re:worksheetの検索するには?  ■名前 : つん <honey@sweetparty.ne.jp>  ■日付 : 02/9/16(月) 12:11  -------------------------------------------------------------------------
   こんにちは〜

こんな感じですか?

Sub test()
  
  Dim ws As Worksheet
  
  For Each ws In Worksheets
    If ws.Name = "パンダ" Then
      ws.Activate
      Set ws = Nothing
      Exit Sub
    End If
  Next ws
  
  MsgBox "パンダちゃんはいません"
  ThisWorkbook.Close

End Sub

book1.xlsに書いた場合やけど・・・
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━    通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━                                 Page 87