セル値に基づくワークシートの順序付け(Microsoft Excel)
_ExcelTips_の他の問題は、ワークシート名に基づいてワークブック内のワークシートを並べ替えることができる方法を提供しています。ただし、各ワークシートの特定のセルの値に基づいてワークシートを並べ替える場合はどうなりますか?たとえば、同じ一般的なレイアウトを共有する一連のワークシートがあり、各ワークシートのセルH7の値に基づいてワークシートを並べ替えたい場合があります。
これを処理する唯一の方法は、マクロを使用することです。マクロは、ブック内の各ワークシートをステップスルーしてから、後続の各ワークシートのキーセルをチェックして、他のワークシートの同じセルと比較する必要があります。セルの値が現在のワークシートよりも小さい場合は、小さい値を含むワークシートを移動できます。
Sub SortWksByCell() Dim i As Integer Dim j As Integer For i = 1 To Worksheets.Count For j = i To Worksheets.Count If UCase(Worksheets(j).Range("H7")) < _ UCase(Worksheets(i).Range("H7")) Then Worksheets(j).Move Before:=Worksheets(i) End If Next Next End Sub
ワークシートの実際の移動を行うMoveメソッドの使用に注意してください。ワークシートの名前は重要ではなく、各ワークシートのセルH7の値に基づく位置のみが重要です。
注:
このページ(または_ExcelTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。
_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。
このヒント(12448)は、Microsoft Excel 2007、2010、2013、および2016に適用されます。
Excelの古いメニューインターフェイス用のこのヒントのバージョンは、次の場所にあります:
linkセル値に基づくワークシートの順序付け。