セル値に基づくワークシートの順序付け(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_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。
link:/ excelribbon-ExcelTipsMacros [ここをクリックして、新しいブラウザタブでその特別なページを開きます]
。
_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。
このヒント(2890)は、Microsoft Excel 97、2000、2002、および2003に適用されます。Excel(Excel 2007以降)のリボンインターフェイス用のこのヒントのバージョンは、次の場所にあります。
link:/ excelribbon-Ordering_Worksheets_Based_on_a_Cell_Value [セル値に基づくワークシートの順序付け]
。