• ベストアンサー

VBで罫線

VBで特定のセルを罫線で囲みたいのです。できたらその罫線の太さ、種類、色まで指定できれば...教えてください。

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

  • ベストアンサー
  • ham_kamo
  • ベストアンサー率55% (659/1197)
回答No.4

VBAで書き方がわからないとき、どうやって調べたらいいかですが、手っ取り早いのはマクロの記録機能を使って、実際に操作して自動的に作られたマクロを見てみることです。 たとえば、B4:D11を選択して、その外周を普通の線で囲み、中の縦横の線を細い線にして縦線だけ赤い色にする操作を記録したら、以下のようになりました。 Sub Macro2()  Range("B4:D11").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 = xlHairline   .ColorIndex = 3  End With  With Selection.Borders(xlInsideHorizontal)   .LineStyle = xlContinuous   .Weight = xlHairline   .ColorIndex = xlAutomatic  End With End Sub これを見ていくと、 ・罫線のオブジェクトはBorders()で指定する ・Borders()の中は、どうやらxlEdgeLeftが左端、xlEdgeTopが上端、xlEdgeBottomが下端、xlEdgeRightが右端、xlInsideVerticalがセル内の縦線、xlInsideHorizontalがセル内の横線らしい ・線の種類はLineStyleプロパティで指定するようだ。xlContinuousというのが普通の線のことかな。 ・Weightプロパティで線の太さを指定するようだ。標準の線はxlThinで、細い線はxlHairlineらしい。 ・色はColorIndexで指定するようだ ということが推測できます。 あとは、ヘルプをうまく使い、たとえばキーワード「Borders」で検索したりして、より詳細な情報を得ることができると思います。

tfshy
質問者

お礼

有難うございました。 素晴らしいアドバイス、感謝します。

その他の回答 (3)

  • ASIMOV
  • ベストアンサー率41% (982/2351)
回答No.3

多少、修正は必要ですが マクロの記録(相対参照)で、自動的に出来ると思うんですが、どうでしょう

tfshy
質問者

お礼

有難うございました。

  • kaz-5919
  • ベストアンサー率26% (45/170)
回答No.2
参考URL:
http://www.sigoto.co.jp/excel/begin/lesson05/begin37.htm
tfshy
質問者

お礼

有難うございました。 良く分かりました。

  • Kurouto
  • ベストアンサー率28% (96/338)
回答No.1

え?何の話? VBを使ってエクセルのセルに罫線? それともプログラム上にセルがあってそのセルに罫線? しかもVBのバージョンぐらい書いてください。 これじゃ誰も答えませんよ。

tfshy
質問者

補足

EXCEL2003で、EXCELの特定のセルを罫線で囲みたいというものです。

関連するQ&A