スティーブは、自分が取り組んでいるプロジェクトごとに新しいワークシートタブを作成するワークブックを持っています。物事を管理しやすくするために、彼は完成したタブ/プロジェクトを非表示にします。スティーブは現在、100以上の非表示のワークシートを持っています。定期的に、彼は完成したプロジェクトを再訪する必要があります。そのために、スティーブはワークシートを再表示することを選択します。これにより、非表示のワークシート名を含む[再表示]ダイアログボックスが明確な順序で表示されます。タブ/プロジェクトを見つけるには、この非常に小さなダイアログボックスをスクロールして、適切なタブを探す必要があります。スティーブはこれが非常に面倒で時間がかかると感じているので、完成したプロジェクトのワークシートを見つけて再表示するためのより良い方法があるかどうか疑問に思っています。

この非常に一般的な問題の1つの解決策は、ブック内のワークシートのインデックスまたは目次を作成できることです。これを行うには、新しいワークシートを追加してから、ワークシートにハイパーリンクを配置して、ワークブック内のさまざまなワークシートすべてに移動します。 (ハイパーリンクに加えて)ワークシートについて必要なほぼすべての情報を含めることができます。ハイパーリンクをクリックすると、ダイアログボックスをスクロールしなくても、目的のワークシートが表示されます。

完了したプロジェクトだけを含む2番目のワークブックを作成することもできます。ワークシートをあるワークブックから別のワークブックに移動するのは非常に簡単なので、2つのワークブック(「アクティブ」と「完了」)を使用します

スナップになります。さらに、完成したプロジェクトを含むワークブック内のワークシートを非表示にする必要はなく、任意の順序で配置できます。

ブックをそのままにしておきたい場合は、非表示のワークシートを簡単に表示できるマクロの作成を検討することをお勧めします。次の例を考えてみましょう:

Sub UnHideWorksheets()

Dim sSheetName As String     Dim w As Worksheet     Dim sTemp As String

sTemp = "Name (or partial) of sheet to show?"

sSheetName = InputBox(sTemp, "Show Hidden Sheet")

If sSheetName > "" Then         sSheetName = LCase(sSheetName)

For Each w In Sheets             w.Tab.ColorIndex = xlColorIndexNone             sTemp = LCase(w.Name)

If Instr(sTemp, sSheetName) Then                 w.Visible = True                 w.Tab.ColorIndex = 6             End If         Next w     End If End Sub

マクロはユーザーにワークシート名を要求し、次にすべてのワークシートをステップスルーします。一致するものが見つかると、ワークシートが表示され、ワー​​クシートのタブの色が黄色に設定されます。マクロは実際には部分一致で機能します。つまり、ワークシート名の一部のみを入力でき、部分一致を含むワークシートは非表示になりません。マクロをショートカットキーまたはクイックアクセスツールバーに簡単に割り当てて、すぐに実行に移すことができます。

_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。

このヒント(13589)は、Microsoft Excel 2007、2010、2013、2016、2019、およびOffice365のExcelに適用されます。