• ベストアンサー

エクセルVBA 行追加時に自動で罫線を引きたい

こんにちは。いつもお世話になっています。 エクセル2007を使用し、データーベースの表を作っています。 A列からE列まで情報の項目があり、(日付・名前等) 3行目からずっとデータを入力しています。 新しい行に、A列からE列の間に何か入力した時、 もしくは入力してある最終行にカーソルがある時、改行を押した場合 次の新規の行AからEまで、自動に罫線を引くにはどうしたらよいのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

>新しい行に、A列からE列の間に何か入力した時、… ホームタブにある「テーブルとして書式設定▼」の中からてきとーに選んで付けておくと,カンペキに意図通り修飾を施し続けてくれます。

orennji1111
質問者

お礼

ありがとうございます! VBAでなくても、こちらで簡単にできたんですね。 助かりました。

その他の回答 (2)

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.3

マクロでやりたいご質問でしたね。 シート名タブを右クリックしてコードの表示を選び,下記をコピー貼り付けておきます。 private sub Worksheet_Change(byval Target as excel.range) if application.intersect(target.cells(1), range("A:E")) is nothing then exit sub with range("A2:E" & target.cells(1).row + 1).borders  .linestyle = xlcontinuous  .weight = xlthin  .colorindex = 1 end with end sub #参考 「その行だけ」に書式を施すと,あとで印刷したり諸々に際して不都合の原因になる場合があります。

  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.2

ANo1さんの方法、参考になりました。 わたしはまだエクセル2000なので、VBAでの方法を考えてみました。 > もしくは入力してある最終行にカーソルがある時、改行を押した場合 改行を押した結果、「下の空白行のA~E列のどれかをセレクトした場合」ということでよろしいでしょうか? ならば以下をお試しください。 1. 該当するシートのシートタブを右クリックして、[コードの表示]。 2. 出てきた白い所に、以下のコードを貼付けます。 '********これより下********** Private Sub Worksheet_SelectionChange(ByVal Target As Range)   If Target.Row < 3 Then Exit Sub   If Target.Column > 5 Then Exit Sub   If Application.WorksheetFunction.CountA(Cells(Target.Row, "A").Resize(, 5)) > 0 Then Exit Sub   With Cells(Target.Row, "A").Resize(, 5).Borders     .LineStyle = xlContinuous     .Weight = xlThin     .ColorIndex = xlAutomatic   End With End Sub '********これより上********** 3.Alt+F11キーでワークシートへもどります。 これでOK

orennji1111
質問者

お礼

ありがとうございます!