- ベストアンサー
Excelで自動的に罫線を引く
任意の4つのセルを選択状態にして実行すると、左上と右下のセルが罫線で囲まれるようにしたいのですが。 □ □ どのようなマクロになるでしょうか? おわかりの方がいましたら教えて下さい。 尚、4つのセルは常に一つの四角形を形成し、かつ2つの列を使用します。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
こんばんは。 下記コードでは選択範囲により罫線が引かれるセルは以下のようになります。 ひとつ選択(B5)なら、B5 複数行1列選択(B5:B9)なら、B5とB9 1行複数列選択(B5:F5)なら、B5とF5 複数行複数列選択(B5:C6)なら、B5とC6 ---------------------------------------------- Sub Test() With Selection .Cells(1).Borders.LineStyle = xlContinuous .Cells(.Cells.Count).Borders.LineStyle = xlContinuous End With End Sub ----------------------------------------------- それからちょと一言。 こういった場合には、No2さんの回答にあるActiveCellを使うと拙い場合があります。 それは範囲選択の仕方によりActiveCellが必ず左上にくるとは限らないからです。 以上です。
その他の回答 (2)
- zap35
- ベストアンサー率44% (1383/3079)
質問の意味が、例えばa1:b2を選択したときに、a1とb2の二つのセルに枠線を描画するということであれば Sub Wakusen() Dim RnA As Range Set RnA = ActiveCell RnA.Borders(xlEdgeLeft).Weight = xlThin RnA.Borders(xlEdgeTop).Weight = xlThin RnA.Borders(xlEdgeRight).Weight = xlThin RnA.Borders(xlEdgeBottom).Weight = xlThin RnA.Offset(rowOffset:=1, columnOffset:=1).Borders(xlEdgeLeft).Weight = xlThin RnA.Offset(rowOffset:=1, columnOffset:=1).Borders(xlEdgeTop).Weight = xlThin RnA.Offset(rowOffset:=1, columnOffset:=1).Borders(xlEdgeRight).Weight = xlThin RnA.Offset(rowOffset:=1, columnOffset:=1).Borders(xlEdgeBottom).Weight = xlThin End Sub ではどうですか。
お礼
ありがとうございました。
- papayuka
- ベストアンサー率45% (1388/3066)
セルを選択した状態から、その動作をマクロ記録して出来ませんか?
お礼
ありがとうございました。