• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Excel VBA で異なるシートの名前の範囲の参照方法について教えて)

Excel VBAで異なるシートの名前の範囲の参照方法について教えて

このQ&Aのポイント
  • Excel VBAを使用して、異なるシートの名前の範囲を参照する方法について教えてください。
  • Sheet1には、項目1と項目2を持つ入力規則があり、INDIRECT関数を使用して項目1の範囲から項目2を選択できるようになっています。そのシートは非表示に設定されており、シート名も決まっていません。項目2が項目1の範囲から正しく選択されているか確認するために、find関数を使用したいと思っています。
  • また、セルに入力されたシート名を再表示する方法がうまくいきません。どうすればいいのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

最初の質問は言っている意味がよくわかりません もっと整理して書いてください シートの再表示は Sub シート再表示() Dim sagyo As String Dim Sh As Worksheet sagyo = Worksheets(1).Range("f5").Value For Each Sh In Worksheets If Sh.Name = sagyo Then Sh.Visible = True Next End Sub これだと対象シートがなくてもエラーにはなりません シート名は文字列です 数字であろうが文字列です ので型は Stringです set WBK2=Activeworkbook   変数の宣言をしていませんので代入できません また、必ずActiveなブックでしかコードが実行されないので これは不要です  worksheet("sagyo").visible=true WorkSheets(sagyo).Visible=True です sが抜けてます また変数に格納しているのになぜ””で囲ってsagyoという文字列に しちゃうんですか? ””は不要です

mugigohan
質問者

お礼

ところどころ、誤ったコードを表記してしまい申し訳ありません。 セルに入力した文字列でシート名を指定できなかったのは、どうやら取り出したセルの文字列の 前後に空白があったようで、関数を使用してトリムしたら解決しました。 ありがとうございました。

mugigohan
質問者

補足

不特定のシート内にある名前の範囲を指定するのは無理かと思いあきらめました。

関連するQ&A

専門家に質問してみよう