先日の話。自分が扱ってるエクセルブックで、やたらにシート数が多いものがある。
自分なりの使い勝手を考えて、任意で並べ替えようと思い、簡単なマクロを作ってみた。 Sub シート名を表示() Dim zWS As Worksheet Dim myWS As Worksheet Set zWS = Sheets.Add(before:=Sheets(1)) zWS.Name = "暫定" For Each myWS In Worksheets If myWS.Name <> "暫定" Then Sheets("暫定").Range("a65536").End(xlUp).Offset(1) = myWS.Name End If Next Rows(1).Delete End Sub とりあえず、上記のマクロを実行すれば下図のように現在のシート名が暫定シートに表示される。 その後、暫定シートのA列に表示されたシート名を任意で並べる。 並べ替えが完了したら、以下のマクロを実行してみた。 Sub シートの並べ替え() Dim myWS As Worksheet Dim zWS As Worksheet Dim i As Integer Set zWS = Sheets("暫定") For i = 1 To zWS.Range("A1").CurrentRegion.Rows.Count Sheets(zWS.Cells(i, 1).Value).Move before:=Sheets(i) Next Application.DisplayAlerts = False zWS.Delete Application.DisplayAlerts = True End Sub 任意にシート名が並べ替えられた。 ま、構文的にどうかは別として目的のものが出来たのでよしとする。
by slayer0210
| 2006-03-16 07:38
| マクロ
|
カテゴリ
以前の記事
フォロー中のブログ
検索
最新のトラックバック
その他のジャンル
ファン
記事ランキング
ブログジャンル
画像一覧
|
ファン申請 |
||