こんにちは。いつもお世話になっています。

エクセル2007を使用し、データーベースの表を作っています。
A列からE列まで情報の項目があり、(日付・名前等)
3行目からずっとデータを入力しています。

新しい行に、A列からE列の間に何か入力した時、
もしくは入力してある最終行にカーソルがある時、改行を押した場合
次の新規の行AからEまで、自動に罫線を引くにはどうしたらよいのでしょうか?

このQ&Aに関連する最新のQ&A

A 回答 (3件)

>新しい行に、A列からE列の間に何か入力した時、…



ホームタブにある「テーブルとして書式設定▼」の中からてきとーに選んで付けておくと,カンペキに意図通り修飾を施し続けてくれます。
    • good
    • 1
この回答へのお礼

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

お礼日時:2011/04/26 16:47

マクロでやりたいご質問でしたね。


シート名タブを右クリックしてコードの表示を選び,下記をコピー貼り付けておきます。

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




#参考
「その行だけ」に書式を施すと,あとで印刷したり諸々に際して不都合の原因になる場合があります。
    • good
    • 0

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
    • good
    • 0
この回答へのお礼

ありがとうございます!

お礼日時:2011/04/26 16:48

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q葉書の罫線がある素材サイト

仕事柄人との交流が多く、名刺交換をした人にお礼状を手書きで書いています。
無地のインクジェット葉書に罫線を書きたいのですが、そういった罫線の
あるデザインをダウンロードできる素材サイトってありますでしょうか?

罫線だけでなく、ビジネス文書に差し障りない程度のうっすらとデザインが
入っていてもOKです。

宜しくお願いします。

Aベストアンサー

罫線入りの葉書って便利なのに、
テンプレートは少ないですよねぇ。

こちらのサイトはいかがでしょうか?

参考URL:http://ruriri.aisnet.jp/keisen.htm

QエクセルVBAで罫線を引きたいのですが

コマンドボタンを押すと、対応するVBAが実行される
ところまでできたのですが

10行目のA1~G10まで、アンダーラインを引きたいのです

下記はそれらしいVBAをコピーして実行したものです
これでは、各セルに二重線で縁取りされました
それを、アンダーラインを引きたいのですが、教えてください

For Each myRange In Worksheets(1).Range("A10:g10") '←(1)
myRange.Borders.LineStyle = xlDouble
Next myRange

できれば、For Each、なんか使わないでできると
ありがたいのですが
よろしくお願いします

Aベストアンサー

アンダーラインですか?罫線ですか?
一応、ボトムの罫線ということで回答します。

With Range("A10:G10").Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With

QWindows 7で罫線又は表作成ができるフリーのワープロソフトを探し

Windows 7で罫線又は表作成ができるフリーのワープロソフトを探しています。

OpenOfficeのWriterは存じていますので、これ以外でお願いいたします。
イメージとしては、ワードパッドに追加で罫線又は表作成ができる軽いものを探しています。
表計算は不要です。
文書の体裁として縦横の線が要るだけで、印刷のみに使います。
教えていただけば、Windows 7で動くかどうかは調べられますので、どうぞよろしくお願いいたします。

Aベストアンサー

何度もすみません。
プログラムの追加と削除に登録されています。
「CYPAC BeatWord 3.0」として登録されていますのでそこから削除できます。
そそっかしくてすみませんでした(汗!)

QエクセルVBA 行列の数を指定して罫線を引くマクロ教えてください

下のようにSheet1に罫線を引く「開始セル(左右端)」「行」「列」が書いてあります。
この条件で罫線をSheet2に引くようにしたいのですが、変数の設定の仕方などが分かっていないようで、できません。教えていただけないでしょうか。マクロの記録をとったところ、下のようになりました。よろしくお願いします。

開始セルSheet2!A1・・・Sheet1のB1セル
行8・・・Sheet1のB2セル
列2・・・Sheet1のB3セル

Sub borders()

Range("A1:B8").Select
Selection.borders(xlDiagonalDown).LineStyle = xlNone
Selection.borders(xlDiagonalUp).LineStyle = xlNone
With Selection.borders(xlEdgeLeft)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.borders(xlEdgeTop)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.borders(xlEdgeRight)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.borders(xlInsideVertical)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.borders(xlInsideHorizontal)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
End Sub

下のようにSheet1に罫線を引く「開始セル(左右端)」「行」「列」が書いてあります。
この条件で罫線をSheet2に引くようにしたいのですが、変数の設定の仕方などが分かっていないようで、できません。教えていただけないでしょうか。マクロの記録をとったところ、下のようになりました。よろしくお願いします。

開始セルSheet2!A1・・・Sheet1のB1セル
行8・・・Sheet1のB2セル
列2・・・Sheet1のB3セル

Sub borders()

Range("A1:B8").Select
Selection.borders(xlDiagonalDown).LineStyle = ...続きを読む

Aベストアンサー

先ず、Sheet1の条件の入れ方を以下のように変えるべきです。

B1 : Sheet2 (シート名)
B2 : A1   (開始セル)
B3 : 8    (行数)
B4 : 6    (列数)

'-------------------------------------- 
Sub Test()
Dim myRange As Range
With Sheets(Range("B1").Value)
 Set myRange = .Range(Range("B2").Value).Resize(Range("B3").Value, Range("B4").Value)
   With myRange.Borders
     .LineStyle = xlContinuous
     .Weight = xlThin
     .ColorIndex = xlAutomatic
   End With
End With
End Sub
'------------------------------------------

以上。
 
 

先ず、Sheet1の条件の入れ方を以下のように変えるべきです。

B1 : Sheet2 (シート名)
B2 : A1   (開始セル)
B3 : 8    (行数)
B4 : 6    (列数)

'-------------------------------------- 
Sub Test()
Dim myRange As Range
With Sheets(Range("B1").Value)
 Set myRange = .Range(Range("B2").Value).Resize(Range("B3").Value, Range("B4").Value)
   With myRange.Borders
     .LineStyle = xlContinuous
     .Weight = xlThin
...続きを読む

Q飾り枠・罫線をフリーで使えるHPを教えて下さい!

ビジネス用に使う飾り枠で見積書の外側を囲う飾り枠なのですが、
WORDの罫線では使えそうなのが見つかりません。

HP上でイメージにピタッ!っとくるようなのをフリーで探しています。
あくまでもビジネス用なので落ち着いた感じです・・。

フリーじゃないけどこれはいい!というようなものもあれば・・・。
よろしくお願いします。

Aベストアンサー

>ダウンロードするとすぐにクリップオーガナイザが起動され、

その時点で、ダウンロードしたものが表示されているはずです。
Office XPのクリップオーガナイザなら、それだけで、すでに分類もされていると思います。
どこに分類されているかは、ダウンロードした画像のカテゴリを自動判別しますので、自分が選択したものになります。
今回の場合で言えば、おそらく「罫線と飾り」か「境界線と枠」になっていると思います。
分類を変えたければ、表示させておいて、「コレクションの一覧」の好きな分類の上にドラッグ&ドロップすればコピーされます。
また、右の窓に適当なものが表示されていなければ、「コレクションの一覧」をクリックして切り替えてください。
MS-WORDなどの貼り付けるには、ドロップダウンメニューからコピーしてWORD上で貼り付けをするか、WORD上で「挿入」→「図」→「クリップアート」で検索・表示させておいて、図をクリックすれば挿入されます。

QExcel VBAで罫線を引くマクロを書きたい

Excel VBAで罫線を引くマクロを書きたいと思っています。
で、文末のコードを書きました。(というかマクロ記録したものほぼそのもの)
これだとある程度動くのですが、内側線が無いような範囲を選択した場合にはエラーになってしまいます。
内側の線を引く際にIF文をかまさなければならないように思うのですが、イマイチわかりません。
この点について教えてください。
また、コードが冗長であるようにも思えます。もう少しスマートな書き方があればあわせて教えてください。
よろしくお願いします。

Sub 枠線基本()

' 周囲
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With

' 内側
With Selection.Borders(xlInsideVertical)
.LineStyle = xlContinuous
.Weight = xlHairline
.ColorIndex = xlAutomatic
End With

With Selection.Borders(xlInsideHorizontal)
.LineStyle = xlContinuous
.Weight = xlHairline
.ColorIndex = xlAutomatic
End With

End Sub

Excel VBAで罫線を引くマクロを書きたいと思っています。
で、文末のコードを書きました。(というかマクロ記録したものほぼそのもの)
これだとある程度動くのですが、内側線が無いような範囲を選択した場合にはエラーになってしまいます。
内側の線を引く際にIF文をかまさなければならないように思うのですが、イマイチわかりません。
この点について教えてください。
また、コードが冗長であるようにも思えます。もう少しスマートな書き方があればあわせて教えてください。
よろしくお願いします。

Sub ...続きを読む

Aベストアンサー

選択範囲の行数が2以上なら内側の水平線を、列数が2以上なら垂直線を引くようにしてあげれば良いのでは?
と思ったら、複数エリアを選択している時にちょいと面倒が・・・
(そんな場合を、想定しなくてもいいのかも知れませんが)

ということで、こんなのでどうでしょうか?
Sub test()
Dim rng As Range
Dim i As Integer

For Each rng In Selection.Areas
'//全部の罫線(内・外とも)
 rng.Borders.LineStyle = xlContinuous
 rng.Borders.Weight = xlThin
 rng.Borders.ColorIndex = xlAutomatic

'//内側の罫線
 For i = 11 To 12
  If (i = 11 And rng.Columns.Count > 1) Or (i = 12 And rng.Rows.Count > 1) Then
   rng.Borders(i).LineStyle = xlContinuous
   rng.Borders(i).Weight = xlHairline
   rng.Borders(i).ColorIndex = xlAutomatic
  End If
 Next i
Next rng
End Sub

複数エリアを想定しなければ、外側のループは不要です。

選択範囲の行数が2以上なら内側の水平線を、列数が2以上なら垂直線を引くようにしてあげれば良いのでは?
と思ったら、複数エリアを選択している時にちょいと面倒が・・・
(そんな場合を、想定しなくてもいいのかも知れませんが)

ということで、こんなのでどうでしょうか?
Sub test()
Dim rng As Range
Dim i As Integer

For Each rng In Selection.Areas
'//全部の罫線(内・外とも)
 rng.Borders.LineStyle = xlContinuous
 rng.Borders.Weight = xlThin
 rng.Borders.ColorIndex = xlAut...続きを読む

Qフリー素材

フリー素材を探しています。
花柄で、小さな花模様でフリーの素材はないでしょうか?
ポスターとかはがきにその花柄を印刷しまして、
そのポスターやはがきを販売しますので、
印刷物に使用でき、販売目的でもOKのフリー素材は
ないでしょうか。教えてください。

Aベストアンサー

素材辞典
http://www.sozaijiten.com/

プロの素材
http://www.hakata-good.co.jp/

満タンWEB
http://www.dex.ne.jp/mantan/index.html

上記は、商用OKのロイヤリティフリー素材を販売されているサイトです。
使えそうな画像がある素材集を購入すればご要望の用途にかなうかもしれません。

また、検索エンジンなどで、キーワードを「ロイヤリティフリー」「素材」「商用」などで検索されれば、その他の商用可能なフリー素材も見つかるかもしれません。

Q条件付き書式で自動で斜線の罫線を引く

例えば、A1に『×』と入力された場合、B1のセルに斜線の罫線を自動的にひくような条件付き書式の設定をしたいのですがうまくいきません。マクロは難しいので条件付き書式で対応したいと考えておりますが、どなたか方法をご教示いただけませんでしょうか。
ちなみにExcel2007を使用しています。
以上、よろしくお願いいたします。

Aベストアンサー

あくまでもサンプルですのでかなり手抜き版ですが、こんな感じでワークシートモジュールに作る事になるかと……。

Private Sub Worksheet_Change(ByVal Target As Range)
 Dim rOne As Range
 For Each rOne In Target
  If (rOne.Address = "$A$1") * (rOne = "×") Then
   Range("B1").Select
    With Selection.Borders(xlDiagonalUp)
     .LineStyle = xlContinuous
    End With
  End If
 Next
End Sub

Qフリーソフトで簡単に罫線が引けるソフト

1 簡単に罫線を引くことができる
2 線と線の間に文字を書くことができる。
3 表計算のように表に入力した数字を計算しなくてもい  い
4 印刷機能がある

というフリーソフトはありますでしょうか?

Aベストアンサー

フリーですべてを満たすのはOpenOfficeでしょうね。

参考URL:http://ja.openoffice.org/start/

QEXCEL2000 VBA 罫線を引く その2

http://www.okweb.ne.jp/kotaeru.php3?q=564008

こちらで質問させていただき、#2の方法で出来たと思い締め切ったのですが、どうやらセルの高さが初期値でない場合、全部のセルに罫線を引く事がわかりました(汗)

1)あくまでも、データが入っている場合のみ罫線を引く方法

2)データが入っている行のみあとから行の高さを80にする方法

他に解決策があれば、よろしくお願いします。

Aベストアンサー

先ほども回答して滑り込みアウトだった者ですが・・・
以下の方法ではどうでしょう?

※必要に応じて、
Const myCol As Long = 4や
Const myKey As Long = 2の
数字の値を書き換えて使用してください。

Sub Sample()
Dim myRow As Long
Const myCol As Long = 4 'データ全体の列数(D列までデータがあるなら、4)
Const myKey As Long = 2 '必ずデータがある列の番号(たとえばB列なら、2)

’範囲指定する
myRow = ActiveSheet.Rows.Count
myRow = Cells(myRow, myKey).End(xlUp).Row 'データ項目数を取得
Range(Cells(1, 1), Cells(myRow, myCol)).Select

’罫線を引く
With Selection
.Borders.LineStyle = xlContinuous
End With

End Sub

先ほども回答して滑り込みアウトだった者ですが・・・
以下の方法ではどうでしょう?

※必要に応じて、
Const myCol As Long = 4や
Const myKey As Long = 2の
数字の値を書き換えて使用してください。

Sub Sample()
Dim myRow As Long
Const myCol As Long = 4 'データ全体の列数(D列までデータがあるなら、4)
Const myKey As Long = 2 '必ずデータがある列の番号(たとえばB列なら、2)

’範囲指定する
myRow = ActiveSheet.Rows.Count
myRow = Cells(myRow, myKey).End(xlUp).Row 'データ項...続きを読む


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング

おすすめ情報