- ベストアンサー
ワークシートのセルの書式設定の罫線をマクロでひく。
ワークシートのセルの書式設定の罫線をマクロでひく。 下記マクロを実行すると (1)のところでBORDERクラスのlinestyle プロパティを設定できません。がでる対策をおしえてください。 Sub Macro1() ' Dim d As Long Sheets("abc").Select '罫線を引く d = Range("A65536").End(xlUp).Row Range("A1", Cells(d, 1)).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 ‘(1) .Weight = xlThin .ColorIndex = xlAutomatic End With With Selection.Borders(xlInsideHorizontal) .LineStyle = xlContinuous .Weight = xlThin .ColorIndex = xlAutomatic End With End Sub
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
xlInsideVertical は、選択範囲内の「内部垂直線」の事だと思います。 このマクロの選択範囲はA列のみなので内部垂直の部分が無いことが原因かと思います。 ためしに Range("A1", Cells(d, 1)).Select を Range("A1", Cells(d, 2)).Select にしてやってみて下さい。
その他の回答 (1)
- okormazd
- ベストアンサー率50% (1224/2412)
Range("A1", Cells(d, 1)).Select で、 選択範囲が1列しかありません。 With Selection.Borders(xlInsideVertical) .LineStyle = xlContinuous ‘(1) .Weight = xlThin .ColorIndex = xlAutomatic End With は、 列と列の間の縦線です。列が1列しかなければ、間の仕切り線は引けません。2列以上選択する。 With Selection.Borders(xlInsideHorizontal) .LineStyle = xlContinuous .Weight = xlThin .ColorIndex = xlAutomatic End With も、1行の選択ではエラーになります。2行以上選択する。
お礼
おかげで解決しました。1列だけでも2になることにきがつかなかった。 ご回答どうもありがとうございました。