対象シートを指定した場所に移動させます。引数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
|