シートを移動する(Moveメソッド)

 対象シートを指定した場所に移動させます。引数Before、Afterによる移動先の
指定は、Copyメソッドと全く同じです。両者の違いは、対象シートを元の場所に残
しておくか否か、です。


 構文  Object.Move(Before, After)


 設定項目         内容
  Object           Worksheet, Chart,Worksheetsコレクション,
                   Sheetsコレクションオブジェクト,Chartsコレクションオブジェクト
  Before           指定したシートの前にシートを移動 [省略可能]
  After	           指定したシートの後にシートを移動 [省略可能]


 次のサンプルはMoveメソッドを利用して、シート名昇順にシートの並び方を変更
します。


●サンプル●

Sub MoveSamp1()

    Dim i As Byte
    Dim j As Byte

       For i = 1 To Sheets.Count - 1       '---最初から最後の1つ前のシートまで
           For j = i + 1 To Sheets.Count   '---i番め以降のシート全て
               If Sheets(i).Name > Sheets(j).Name Then  '---シート名の比較
                   Sheets(j).Move Before:=Sheets(i)     '---(1)シートの移動
               End If
           Next j
       Next i

End Sub


 (1)の部分でシートの移動を利用しています。i番目のシートよりも後ろにある
シートのうち、i番目のシートよりも名前で並べたときに順番が前になるシートを
i番目のシートの前に移動しています。それの繰り返しで、シートの並べ替えとし
ています。


●文字列の比較●

 文字列を比較する際、特に何も記述しなければ「Binaryモード」での比較が
行われ、Windows版ではUnicodeのコード順が並び替え順序になります。50音順
で、大文字と小文字、文字幅、カタカナとひらがなを区別しない並べ替え順に
するには、Option Compareステートメントを使用します。モジュールの先頭に
次のように記述し、「Textモード」での比較を行うように設定を変更してください。

 Option compare Text

Excel2000



戻る


Excel Word Access VBA! モーグ