- ベストアンサー
VBで罫線
VBで特定のセルを罫線で囲みたいのです。できたらその罫線の太さ、種類、色まで指定できれば...教えてください。
- みんなの回答 (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」で検索したりして、より詳細な情報を得ることができると思います。
その他の回答 (3)
- ASIMOV
- ベストアンサー率41% (982/2351)
多少、修正は必要ですが マクロの記録(相対参照)で、自動的に出来ると思うんですが、どうでしょう
お礼
有難うございました。
- kaz-5919
- ベストアンサー率26% (45/170)
お礼
有難うございました。 良く分かりました。
- Kurouto
- ベストアンサー率28% (96/338)
え?何の話? VBを使ってエクセルのセルに罫線? それともプログラム上にセルがあってそのセルに罫線? しかもVBのバージョンぐらい書いてください。 これじゃ誰も答えませんよ。
補足
EXCEL2003で、EXCELの特定のセルを罫線で囲みたいというものです。
お礼
有難うございました。 素晴らしいアドバイス、感謝します。