• ベストアンサー

EXCELシートの整列

EXCELで、各シートに名前を付けて使っています。ひとつのファイルに膨大な数のシートが入っているので、分かりやすく操作できるようにシートを整列したいのですが、どうすれば良いでしょうか。 たとえば、シート名を「あいうえお」順で左から自動的に整列させたいと思っています。 EXCELでそういう操作は可能なんでしょうか? よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • marbin
  • ベストアンサー率27% (636/2290)
回答No.1

シート1を作業用シートとして使います。 漢字が含まれていたら読みの順番には並び替えてくれません。 なお、このマクロは私が作ったものではなく、他サイトで回答 されていたものを勉強のため保存していたものです。 Sub test() Dim WS As Worksheet Dim i As Integer Dim MyC As Range Set WS = Worksheets.Add(After:=Worksheets(Worksheets.Count)) With WS For i = 1 To Worksheets.Count - 1 .Cells(i, 1).Value = Worksheets(i).Name Next With .Range("A1").CurrentRegion .Sort Key1:=.Parent.Range("A1"), Order1:=xlAscending, Header:=xlNo For Each MyC In .Cells Worksheets(MyC.Value).Move After:=Worksheets(Worksheets.Count) Next End With Application.DisplayAlerts = False .Delete Application.DisplayAlerts = True End With End Sub

japonicus
質問者

お礼

マクロが必要なんですか…。残念。マクロを使った経験が無いもので、難しそうですね。ご紹介ありがとうございました。

その他の回答 (3)

  • T0ngT0ng
  • ベストアンサー率40% (8/20)
回答No.4

直接の回答ではないのですが、 わかりやすく操作したい、というだけでしたら、先頭に一枚、目次でも入れてみたらいかがでしょうか? やっぱりマクロを使うのですが、以下のマクロで、一枚目以外のシートへのリンクを作成できます。 後は #3さんの書いてるように、好きな並び順にしてしまえば比較的使いやすいのではないかと思います。 -- Sub MakeIndex() For i = 1 To Worksheets.Count - 1 ActiveSheet.Hyperlinks.Add Anchor:= _ ActiveCell.Cells(i, 1), _ Address:="", _ SubAddress:=Worksheets(i + 1).Name & "!A1", _ TextToDisplay:=Worksheets(i + 1).Name Next End Sub

japonicus
質問者

お礼

回答ありがとうございました。マクロ…。使った事が無いんですよね。。。また別の整理方法を考えてみます。どうもありがとうございました。

japonicus
質問者

補足

申し訳ありませんが、マクロの良し悪しが判断できないので、回答ポイントは先着で付けました。皆様ありがとうございました。

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.3

Sub test02() Dim sh As Worksheet i = 1 For Each sh In ActiveWorkbook.Worksheets Worksheets("sheet4").Cells(i, "A") = sh.Name i = i + 1 Next End Sub 1つシートを追加します。その名前を上記ではSheet4としてます。 上記でSheet4のA列に、シート名の一覧が出ます。 ソートをプログラムで行うのは面倒なので、エクセルを利用して、Sheet4のA列を昇順にソートしてください。もし漢字名、」英字名で並び順が気に食わない場合は B列に振り仮名等を振って、B列でソートしてください。(膨大な数とのことですが、振り仮名を振るのはできるかな。) それに対して Sub test03() m = Worksheets("sheet4").Cells(1, "A") For i = 2 To 4 n = Worksheets("sheet4").Cells(i, "A") Worksheets(n).Move , Worksheets(m) m = n Next i End Sub を実行します。 しぇえt4のA列のA列のシート名の順にシートタブを並べます。2つに分け、ソートを手作業にすることにより、少しVBAコードは簡単になったでしょう。

japonicus
質問者

お礼

ありがとうございました。ちょっと私レベルでは操作し切れない感じです。残念。本当にありがとうございました。

  • komet163
  • ベストアンサー率51% (22/43)
回答No.2

こんにちは。多分マクロを使わないとダメかと思います。 私は、(1)、(2)、(3)‥(10)‥(20)‥ とシート名を付ける習慣がありまして、 下記のように、シート名を文字扱いし、文字数も比較して、 (1)、(10)、(2)、(20)、(3)‥とならないようにしてます。 Dim r As Long Dim shtTemp As Worksheet With Application .ScreenUpdating = False .DisplayAlerts = False End With Set shtTemp = Worksheets.Add(Before:=Worksheets(1)) With shtTemp For r = 1 To Worksheets.Count .Cells(r, 1) = "'" & Worksheets(r).Name .Cells(r, 2) = Len(Worksheets(r).Name) Next .Cells(1, 1).Sort _ Key1:=.Columns(2), Order1:=xlDescending, _ Key2:=.Columns(1), Order2:=xlDescending, _ Header:=xlYes For r = 2 To .Cells(1, 1).CurrentRegion.Rows.Count Worksheets(CStr(.Cells(r, 1))).Move Before:=Worksheets(1) Next .Delete End With

japonicus
質問者

お礼

ECXELの単純操作で整列できるのかな?と思っていたのですが、残念。マクロは全く手が出せないので、また別の整理方法を考えてみます。

関連するQ&A

  • エクセルで、整列させたいシートだけ整列させたい

     エクセルで、多数のシート(ブック)を開いた時、例えばその内2つのシートだけを整列させたい場合、どのようにすればいいのでしょうか?

  • Excel Sheet の並び順について

    (1)Excelを起動したとき、左から右へSheet1,Sheet2,Sheet3の順なっています。 (2)一方、Sheetを新たに追加(挿入)すると、開いているSheetの左側に挿入されます。 この2つの仕様は、矛盾していないでしょうか? 例えば、Sheet1,Sheet2,Sheet3まで使って、Sheet4を追加すると、Sheet1,Sheet2,Sheet4,Sheet3の順になってしまいます。 このため、いつもSheet名をドラッグして整列し直しています。わたしの使い方が悪いのでしょうか?

  • エクセルの整列

    まったく別のファイルであれば、簡単に「並べて表示」できます。 しかし、同じファイル内の例えば、sheet1とsheet2を並べて表示しようとするときも、もう一度ファイルを開き直さなければなりません。 ディレクトリーの深いところに保存している場合など、見つけてくるのに大変手間がかかります。 すぐ隣にあるのに、「なぜ簡単に整列できないのか」と、イライラします。 簡単に整列(並べて表示)させる方法はありませんか? sheet1とsheet2が、瞬時に並べられないなら、これは「エクセルの欠陥」だとさえ思っています。(-_-;)

  • アイコンの整列で名前で整列並び替え。その時のアイコンの並び順の法則は?

    絶対、名はついていると思いますが名前の付いたファイルやフォルダ(アイコン)の並び順で名前によって自動整列させた時の法則はがよくわかりません。 経験上、先頭の文字が、 記号-数字-英語-ひらがな-漢字 の順に並んでいるようなのですが数字でしたら少ない数から、英語でしたらアルファベット順、ひらがなもあいうえお…順、これは分かるのですが漢字や記号だと、どういう法則で名前による自動整列をさせ並べているのか全く分かりません。 よって調べる時に非常に探しにくく困っています。 記号、漢字はどういう法則性があるのでしょうか? 例えば ★と◆と○でしたらどちらが前に来るのか? 「鈴~」と「田~」と「山~」でしたらどうなのか? 法則はあるにはあるようなのですが、よくわかりません。 ご教授ください。

  • エクセルのシートを整列で常時表示させたい

    Excelの同じブック内のシートを整列で作業をしています。 毎回、整列で表示するのがめんどくさいので、エクセルを開けば毎回シートが表示されるようにしたいのですが、可能でしょうか? 3つのシートを開くたびに表示させたいです。 意味が伝わるでしょうか?うまく表現できず、すみません。 よろしくお願いします。

  • エクセルでシートの並び替えですが・・・

    エクセルのシートを何も考えず、ランダムに会社名で打っていったら50社を越え、整理が付かなくなりました・・・・ 50音順で整列させたいのですが、何かいい方法ございませんか?一個一個はめんどくさくって・・・ 2003年度エクセルです。こんなめんどくさがりに良いお知恵をお貸しください。

  • アイコンの整列

    VISTAを使っています。 デスクトップのアイコンを名前順に整列しようしてもできません。 ファイルやソフトのショートカット名前が英字でなかったら並び替えできないのでしょうか? 日本語の場合はファイル名の前に番号を入れたらいいことは知っていますがそれしかできないのでしょうか? よろしくお答願います。

  • アイコンの整列について

    アイコンの整列についてお尋ねします。 あるフォルダーを開いてサブフォルダーやファイルを表示しているとき、アイコンの整列で種類順に並べてさらに同一種類の中は名前順にあるいはサイズ順や更新日付順に整列させたいのですがうまくいきません。 例えば、初めに日付順に整列させてその後種類順に整列をすると、同一種類の中の日付順が崩れてしまいます。 これをうまく処理する手順、設定はあるのでしょうか?

  • ウインドウ-整列 がうまくいきません

    WindowsXPでエクセル2002を使用していますが、メニューバーのウインドウから整列をしても、うまくいかないときがあります。ひとつのウインドウの中で複数のシートを同時に見ることができないのです。2つ目を開こうとすると新しく別のファイルが開かれます。そのときによってうまく整列できるときとできないときがあります。どうすればひとつのファイルで整列することができるのでしょうか。よろしくお願いします。

  • アイコンの整列について

    こんばんは。 ファイルが並んでる場合、アイコンの整列の名前順による基準をおしえてください。 あるファイルに、01.jpg、02.jpg、03.jpg~と名前に数字が並んだファイルがあるのですが、 これをはじめに名前順にすると、当然、数字どおりに並びました。 並べた後、さらにファイルを追加しました。 このファイルを、名前順に整理したとき01.jpgの前にならべたくて、 ファイル名を001.jpgにしました。 しかし、名前順にしたところ01.jpg、001.jpg、02.jpg~というふうにならんでしまいました。 私は001.jpg、01.jpg、02.jpg~というふうに並ぶとおもったのですが・・・ 01.jpgの前にファイルがくるようにするにはどういう名前にすればいいですか? また、名前順にしたときにファイルが並ぶ優先基準についても教えてくれたらうれしいです。 (数字優先よりひらがな優先とか) よろしくおねがいします。

専門家に質問してみよう