北神 あきらのExcel97で罫線を引こう



98ReaderはExcel97の罫線のコマンドが音声になりません。会社で表を提出するのに罫線がないというのはちょっと残念です。そこでExcel97で罫線を引く方法を北神 あきらさんのご好意により、このページで紹介します。


題名 北神 あきらのExcel97で罫線を引こう
作者 北神 あきら
確認バージョン
Microsoft Excel97+98Reader
音声環境使用感
一部音声にならない部分はあるが画面を見なくても可能

ここから罫線や網掛け、数値の形式などをExcelVBAで記述する方法を紹介します。
これはほんの一例にすぎません。まだまだいろいろなことができます。私もまだあまり知りませんのでみなさんどうぞ教えていただければと思います。 それから内容に誤りがあるかもしれません。どうぞご指摘よろしくお願いします。

[前提]
1.ExcelのVisual Basicモジュールがインストールされていることが必要です。標準インストールではこれはインストールされません。
2.追加してインストールするには、カスタムインストールを選択して「Visual Basicモジュール」を選択します。
(注)インストールは音声対応があまりよくないので、単独で行う場合は画面を見てもらう人がいたほうが無難。

[手順]
1.メモ帳やワードパッドなどのエディタでVisual Basic for Application(以下VBA)のプログラムを作成します。
2.[Ctrl]+[A]・[Ctrl]+[C]で内容をコピーします。
3.Excel97に切り換えて「ツール」「マクロ」「Visual Basicエディタ」を実行または「[Alt]+[F11]を押します。そして[Ctrl]+[R]でリストを表示します。
4.[上下矢印キー]で「ThisWorkbook」を選択して[Enter]するとVBAエディタが開きます。
5.[Ctrl]+[V]を押して1で書いた内容を貼り付けます。
但し、このエディタは音声は出ませんのでキー操作を正確にしてください。
6.[Alt]+[F4]でVBAエディタを閉じます。
7.[Alt]・「ツール」・「マクロ」・「マクロの実行」を選択します。
8.[マクロ名]の欄には既に「ThisWorkbook 書式設定」と書かれているので[Enter]でVBAを実行します。
9.内容を修正する場合は一旦VBAエディタの内容を全て消去してから上の手順を実行します。

[Excelの書式例]
1.セルa3からf35までに格子状の罫線を細線で引く
2.セルa3からf35までの外枠罫線を中太線で引く
3.セルa3からf3までの下線罫線を中太線で引く
4.セルa3からf3までにグレー25%で網掛けする
5.セルe4からf35までの数値形式を3桁カンマ区切りで先頭に"\"をつける


ここからVBAモジュール
Sub 書式設定()
Application.Sheets("Sheet1").Activate 'Sheet1をアクティブにする'罫線の消去(まずこれまでに引かれた罫線を消す)
Dim ss1
ss1 = "$a$1:$f$35" '範囲をa1からf35にする
With ActiveSheet.Range(ss1)
.Borders(xlLeft).LineStyle = xlNone '左側消去
.Borders(xlRight).LineStyle = xlNone '右側消去
.Borders(xlTop).LineStyle = xlNone '上側消去
.Borders(xlBottom).LineStyle = xlNone '下側消去
.BorderAround LineStyle:=xlNone '枠線消去
End With
'罫線の設定
'講師罫線の設定
Dim ss2
ss2 = "$a$3:$f$35" '範囲をa3からf35にする
With ActiveSheet.Range(ss2)
.Borders(xlLeft).Weight = xlThin '中枠左側:細線
.Borders(xlRight).Weight = xlThin '中枠右側:細線
.Borders(xlTop).Weight = xlThin '中枠上線:細線
.Borders(xlBottom).Weight = xlThin '中枠下線:細線.
.BorderAround Weight:=xlMedium '外枠:中太線
End With
'中太線の下線の設定
ActiveSheet.Range("a3:f3").Borders(xlBottom).Weight = xlMedium '中枠下線:中太線
'網掛けの設定
ActiveSheet.Range("$a$1:$f$35").Interior.Pattern = xlNone 'これまでに設定された網掛け消去
ActiveSheet.Range("$a$3:$f$3").Interior.Pattern = xlGray25 '網掛けGray25%
'数値形式の設定
ActiveSheet.Range("$e$4:$f$35").NumberFormatLocal = "\#,###" '3桁カンマ区切りで先頭に\マーク
End Sub
ここまで、ちなみに表示されているものをそのまま貼り付けると示されている内容が正常に実行出来ます。

ここからは罫線の指定について
罫線の太さの指定
.Borders(xlLeft).Weight = xlThin '中枠左側:細線の中の"xlThin"の部分を以下のように記述すると罫線の太さが指定出来ます。
xlHairline '極細線
xlThin '細線
xlMedium '中太線
xlThick '太線

罫線の種類の指定
.Borders(xlLeft).LineStyle = xlNone '左側消去の中の"xlNone"の部分を以下のように記述すると罫線の種類が指定出来ます。
xlContinuous '連続した線(使用法は不明)
xlDash '破線
xlDot '点線
xlDashDot '一点鎖線
xlDashDotDot '二点鎖線
xlGray25 '灰色25%
xlGray50 '灰色50%
xlGray75 '灰色75%
xlDouble '二重線
xlAutomatic '自動(使用法は不明)
勿論、上の2行を連続して記述すれば「太線の点線」のような設定も可能です。


戻る