戻る |
名簿用の罫線マクロ(1/2)
Excel で生徒名の入った一覧表を作るときに、こんな罫線を引きたくなりませんか? 1.外枠は太線 2.縦線は細実線 3.横線は破線にしておいて、5人おきに細実線! 私は、こうしたいときがよくあります。でも、けっこう面倒ですよね。一発でできたらいいのに... そこで、ボタン一発(あるいは、ショートカットキー)でこの罫線を引くマクロ(VBA)を作って利用しています。以下に VBA のコードを示します。このマクロは範囲を選択してから実行します。VB あるいは VBA をご存じ無い方にはまったく呪文のように見えるかもしれませんが、簡単に実現できるので、ぜひ試してみてください。 【使い方】
でも、まだ「ボタン一発」になっていませんね。次のページで解説します。 以下、名簿用罫線マクロ(MyBorders)の VBA コードです。コピーしてお使いください。 (なお、このマクロは Mr.Big の「教務手帳」の中でも使われています) ' '■■■ 5行おきに実線を入れて、残りを破線に ■■■ ' Keyboard Shortcut: Ctrl+Shift+B ' Sub MyBorders() Dim MyTop As Integer Dim rw As Range On Error Resume Next Application.ScreenUpdating = False '横線を破線に、ただし5行おきに実線 If Selection.Rows.Count > 1 Then MyTop = Selection.Row For Each rw In Selection.Rows If (rw.Row - MyTop + 1) Mod 5 = 0 Then With rw.Borders(xlEdgeBottom) .LineStyle = xlContinuous .Weight = xlThin End With Else: With rw.Borders(xlEdgeBottom) .LineStyle = xlDot .Weight = xlThin End With End If Next rw End If '外枠を太線に With Selection.Borders(xlEdgeLeft) .LineStyle = xlContinuous .Weight = xlMedium End With With Selection.Borders(xlEdgeTop) .LineStyle = xlContinuous .Weight = xlMedium End With With Selection.Borders(xlEdgeBottom) .LineStyle = xlContinuous .Weight = xlMedium End With With Selection.Borders(xlEdgeRight) .LineStyle = xlContinuous .Weight = xlMedium End With '縦線を実線に If Selection.Columns.Count > 1 Then With Selection.Borders(xlInsideVertical) .LineStyle = xlContinuous .Weight = xlThin End With End If End Sub |