Warning: The magic method InvisibleReCaptcha\MchLib\Plugin\MchBasePublicPlugin::__wakeup() must have public visibility in /home/c3541351/public_html/guakw.info/wp-content/plugins/invisible-recaptcha/includes/plugin/MchBasePublicPlugin.php on line 37
事務作業の「めんどくさい」を消す。Excelシートを一瞬で並べ替えるVBA【コピペで完了】 | ぐー@高配当株ブログ

事務作業の「めんどくさい」を消す。Excelシートを一瞬で並べ替えるVBA【コピペで完了】

【実務で使う】Excel関数
スポンサーリンク

こんにちは!ぐーです。
いつもブログをご覧いただき、ありがとうございます!

突然ですが、Excelのシートが増えすぎて、「あれ、あの支店のシートどこだっけ?」と探すのに疲れていませんか? 

あるいは、月ごとのシートを「4月、5月、6月…」と手動でドラッグして並べ替える作業に、虚しさを感じていませんか?

私も以前は、こうした単純作業が本当に苦手でした。モニターに向かって、よくため息をついていたものです。

今日は、そんな「シートの移動・並べ替え」という地味に精神を削理時間を奪う作業を、一瞬で終わらせる方法を紹介します。

【業務効率化】VBAの記事を見る

【コピペでOK】シートを名前順に並べ替えるVBAコード

では、実際のコードを見てみましょう。

Sub シートを名前順に並べ替える()
    Dim i As Integer
    Dim j As Integer
   
    ' 画面の更新を止める
    Application.ScreenUpdating = False
   
    ' 以前のシートと後のシートを比較して、順番が違えば入れ替える
    For i = 1 To Sheets.Count - 1
        For j = i + 1 To Sheets.Count
           
            ' もし後のシートの名前の方が「小さい(あ→んの順)」なら
            If Sheets(j).Name < Sheets(i).Name Then
                ' シートを移動する
                Sheets(j).Move Before:=Sheets(i)
            End If
           
        Next j
    Next i
   
    ' 画面更新を再開
    Application.ScreenUpdating = True
   
    MsgBox "並べ替えが完了しました!"
End Sub

コードの解説(仕組みを知りたい方へ)

仕組みはシンプルで、「隣り合うシートの名前を順番に比較し、並びが逆なら入れ替える」という処理を繰り返しているだけです。

今回のポイントはMoveメソッドです。 このメソッドを使うことで、指定したシートを狙った場所へ正確に移動させることができます。

人間が手動で行うと手間もミスも増える「比較して、移動して……」という作業を、PCが正確かつ爆速で代行してくれます。ぜひ試してみてください。

【業務効率化】VBAの記事を見る


VBAを独学で学び、業務自動化に5年以上携わってきた私が、「本当に実務で役立った!」と感じた2冊を紹介します。 もう本選びで失敗したくない方は、よければ参考にしてみてください。

この記事を書いた人
ぐー

手取り15万円の会社員でも、年間100万円以上の節約・資産管理・スキルアップで新NISAで年間360万円投資し、iDeCoもフル活用しています。日商簿記3級持っています。

このブログでは、私が実践してきた節約術やリアルな資産運用、稼ぐ力を高めるITスキルについて発信しています。

生活を豊かにしたくて、高配当株投資で年間配当金60万円をめざしています。現在は年間配当金25万円以上達成!

ゲーム・漫画・アニメなどが好きです。
一緒に資産形成をがんばりましょう!
よろしくお願いします!

ぐーをフォローする
【実務で使う】Excel関数ITスキル
スポンサーリンク
ぐーをフォローする

コメント

タイトルとURLをコピーしました