【脱・単純作業】「表の線を引く」作業をVBAで一瞬で終わらせる方法

【業務効率化】VBA
スポンサーリンク

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

突然ですが、「新しいデータが来るたびに罫線を直している気がする……」そんなふうに感じること、ありませんか?

自分で引くのってけっこう面倒なんですよね。

今日は、「一瞬で表に罫線を引く(そして消す)」VBAをご紹介します。

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

コピペでOK!コード集

それでは、実際に現場で使っているコードを見てみましょう。VBE(コードを書く画面)を開いて、貼り付けてみてください。

基本編:データがある範囲全体に「格子」を引く

一番よく使う形です。

Sub DrawBorders_Basic()
    ' データがある範囲(A1セルを含むかたまり)全体に実線を引く
    Range("A1").CurrentRegion.Borders.LineStyle = xlContinuous
   
    MsgBox "線を引きました。", vbInformation
End Sub

応用編:外枠は「太く」、中身は「細く」

これだけで資料の見た目がプロっぽくなります。「仕事が丁寧だね」と言われるテクニックですが、手動やるのはちょっと手間なんですよね。

Sub DrawBorders_Pro()
    Dim rng As Range
    Set rng = Range("A1").CurrentRegion ' 範囲を変数に入れる
   
    ' いったん全ての線を消す(リセット)
    rng.Borders.LineStyle = xlNone
   
    ' 1. 内側に細い点線を引く
    rng.Borders(xlInsideHorizontal).LineStyle = xlHairline
    rng.Borders(xlInsideVertical).LineStyle = xlHairline
   
    ' 2. 外枠を実線の中太にする
    rng.BorderAround Weight:=xlMedium
   
    MsgBox "表ができました!", vbInformation
End Sub

リセット編:線をすべて消す

先ほど登場しましたが、やり直したいときや、データをクリアするときに使います。

Sub ClearBorders()
    ' A1を含むデータ範囲の線をすべて消す
    Range("A1").CurrentRegion.Borders.LineStyle = xlNone
End Sub

 知っておくと便利な「線の種類」

コードの中にある LineStyle の後ろを変えるだけで、線の種類を自由自在に変えられます。

  • xlContinuous : 実線(いつものやつ)
  • xlDot : 点線(……)
  • xlDash : 破線(- – – -)
  • xlDouble : 二重線(======)

これで罫線を引いたり、消したりする作業も自動化しちゃいましょう!

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


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

この記事を書いた人
ぐー

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

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

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

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

ぐーをフォローする
【業務効率化】VBAITスキル
スポンサーリンク
ぐーをフォローする

コメント

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