目次
このチュートリアルでは、VBAコードとワークブックマネージャツールを使って、Excelワークシートをすばやくアルファベット順に並べ替える方法を紹介します。
Microsoft Excelには、列や行をアルファベット順に並べる簡単な方法がいくつかあります。 しかし、Excelでワークシートを並べ替える方法は1つだけです。シートタブバー上の希望の位置にドラッグします。 非常に大きなワークブックのタブをアルファベット順に並べる場合、これは長く、誤った方法かもしれません。 時間節約のための代替方法を探していますか。 2つだけ存在します:VBAコードです。またはサードパーティツールを使用します。
VBAでExcelのタブをアルファベット表記にする方法
Excelのシートを昇順、降順、およびユーザーの選択に基づいてどちらかの方向に並べ替える3つのVBAコード例を以下に紹介します。
VBAの使用経験があることを前提に、ワークシートにマクロを追加する基本的な手順の概要のみを説明します。
- Excelワークブックで、Alt + F11キーを押して、Visual Basic Editorを開きます。
- 左ペインで、右クリック 本作品 をクリックします。 インサート > モジュール .
- コードウィンドウにVBAコードを貼り付けます。
- F5キーを押して、マクロを実行します。
詳しい手順については、「ExcelでVBAコードを挿入して実行する方法」をご覧ください。
ヒント:マクロを残して使いたい場合は、必ずExcelマクロ対応ワークブック(.xlsm)として保存してください。
また、サンプルのAlphabetize Excel Tabsワークブックをダウンロードし、プロンプトが表示されたらコンテンツを有効にし、そこから直接目的のマクロを実行することもできます。 このワークブックには以下のマクロが含まれています。
- タブ昇降 - シートをAからZのアルファベット順に並べます。
- タブ下降 - シートをZからAの順に並べる。
- アルファベタイズタブ - シートタブを昇順、降順の両方向でソートします。
サンプルワークブックをダウンロードしてExcelで開いた状態で、タブをアルファベット順に並べたいワークブックを開き、Alt + F8キーを押して、目的のマクロを選択し、クリックします。 実行 .
ExcelのタブをAからZまでアルファベット順に並べ替えることができます。
この小さなマクロは、現在のワークブックにあるシートを 英数字の昇順 まず、名前が数字で始まるワークシート、次にAからZまでのシートがあります。
Sub TabsAscending() For i = 1 To Application.Sheets.Count For j = 1 To Application.Sheets.Count - 1 If UCase$(Application.Sheets(j).Name)> UCase$(Application.Sheets(j + 1).Name) Then Sheets(j).Move after:=Sheets(j + 1) End If Next MsgBox "the tab has been sorted from A to Z." End SubExcelのタブをZからAへ並べる
でシートを並べ替えたい場合 英数字の降順 (ZからA、そして数字名のあるシート)の場合、以下のコードを使用します。
Sub TabsDescending() For i = 1 To Application.Sheets.Count For j = 1 To Application.Sheets.Count - 1 If UCase$(Application.Sheets(j).Name) <UCase$(Application.Sheets(j + 1).Name) Then Application.Sheets(j).Move after:=Application.Sheets(j + 1) End If Next MsgBox "The tab has been sorted from Z to A." End Subタブの昇順・降順のアルファベット表記
このマクロは、ワークブック内のワークシートをAからZのアルファベット順に並べたり、逆順に並べたりする方法をユーザーが決定できるようにします。
Excel VBAの標準的なダイアログボックス(MsgBox)では、あらかじめ定義されたいくつかのボタンからしか選択できないので、3つのカスタムボタンを持つ独自のフォーム(UserForm)を作成することにします。 A to Z , ZからAへ そして キャンセル .
このためには、Visual Basic Editorを開き、右クリックで 本作品 をクリックします。 インサート > ユーザーフォーム .フォームに名前を付ける ソート順(SortOrderFrom そして、ラベルと3つのボタンの4つのコントロールを追加します。
次に、F7キーを押す(またはフォームをダブルクリックする)ことにより コード このコードは、ボタンのクリックを感知して、各ボタンにユニークなタグを割り当てます。
Private Sub CommandButton1_Click() Me.Tag = 1 Me.Hide End Sub Private Sub CommandButton2_Click() Me.Tag = 2 Me.Hide End Sub Private Sub CommandButton3_Click() Me.Tag = 0 Me.Hide End Subをクリックするかどうかで A to Z または ZからAへ ボタンをクリックすると、タブをアルファベットの昇順(デフォルトで選択されています)または降順で並べ替えることができます。 キャンセル これは、次のVBAコードで行います。 インサート > モジュール .
Sub AlphabetizeTabs() Dim SortOrder As Integer SortOrder = showUserForm If SortOrder = 0 Then Exit Sub For x = 1 To Application.Sheets.Count For y = 1 To Application.Sheets.Count - 1 If SortOrder = 1 Then If UCase$(Application.Sheets(y).Name)> UCase$(Application.Sheets(y + 1).Name) Then Sheets(y).Move after:=Sheets(y + 1) End If ElseIf SortOrder = 2 Then If UCase$(Application.Sheets(y).Name)<UCase$(Application.Sheets(y + 1).Name) Then Sheets(y).Move after:=Sheets(y + 1) End If End If Next Next End Sub Function showUserForm() As Integer showUserForm = 0 Load SortOrderForm SortOrderForm.Show (1) showUserForm = SortOrderForm.Tag Unload SortOrderForm End FunctionVBAの使い方がよくわからない場合は、「タブをアルファベット順に並べるサンプルワークブック」をダウンロードし、タブを並べ替えるファイルと一緒にExcelで開き、その中で アルファベタイズタブ マクロをワークブックからダウンロードします。
というように、好みのソート順を選びます。 A to Z で、その結果を観察してください。
VBAを使用すると、Excelのワークシートのコピーを作成することもできます。 コードはこちらでご覧いただけます:VBAでExcelのシートを複製するには。
Ultimate SuiteでExcelタブをアルファベット順に並べる方法
Ultimate Suite for Excelのユーザーは、VBAを使いこなす必要はなく、多機能なワークブック・マネージャーを自由に使うことができます。
このツールをExcelのリボンに追加すると、タブのアルファベット表記がボタンクリック1つで行えるようになり、まさに理想的です。
この他にも70種類以上のプロフェッショナルなExcel用ツールをお探しの方は、こちらからUltimate Suiteの体験版をダウンロードできます。
読んでくださってありがとうございました!来週も当ブログをよろしくお願いします。