• ベストアンサー

VBAで複数のセルに一度に罫線を引く方法?

よろしくお願いします! 現在は一つのセルに罫線を引いたら、その次のセルに引いて、またその次のセルに… のような繰り返しでかなり冗長なコードになってしまっています。 複数のセルに一気に罫線を引けるシンプルなコードはありますでしょうか? どうぞ、アドバイスをよろしくお願いいたします。

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

  • ベストアンサー
  • nda23
  • ベストアンサー率54% (777/1415)
回答No.1

Rangeオブジェクトに罫線を引けば よいのです。Cells(行, 列)もRange オブジェクトです。 With Range("A1:G100")     With .Borders(xlEdgeLeft)         以下略

sarugolfer
質問者

お礼

ありがとうございました! 求めていた結果が得られました。

その他の回答 (2)

  • o_chi_chi
  • ベストアンサー率45% (131/287)
回答No.3

繰り返しをシンプルにするために Do...Loop、For...Next等ステートメント があるんですけど。

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

>複数のセルに一気に罫線を引けるシンプルなコードはありますでしょうか 意味をはっきり表現して質問すること。複数のセルの意味があいまい。 ーー 長方形のセル範囲の全セルに同じ罫線をひく(マス目的に)のなら Sub test04() Range("B2:F15").Select For i = 7 To 12 Selection.Borders(i).Weight = xlThin '他に色・線種などを書き加えることが出来る Next End Sub が一番コード字数が少ないだろう。 この7から12は Sub test02() MsgBox xlEdgeLeft MsgBox xlEdgeTop MsgBox xlEdgeBottom MsgBox xlEdgeRight MsgBox xlInsideVertical MsgBox xlInsideHorizontal End Sub を実行すれば判るところから来る。 参考に。 ーー しかしやっていることは罫線を引くマクロの記録のコードと同じ。 無理しないほうがよかろう。 ーー 他に、手作業で別範囲に罫線を引いて、VBAで必要なセル範囲に貼り付けるとか(テンプレート的考え)。

sarugolfer
質問者

お礼

ありがとうございます! 勉強になりました。

関連するQ&A

専門家に質問してみよう