- ベストアンサー
VBAで「一度で全ての罫線をなくす」コードを書くときは
With Selection .Borders(xlDiagonalDown).LineStyle = xlNone .Borders(xlDiagonalUp).LineStyle = xlNone .Borders(xlEdgeLeft).LineStyle = xlNone .Borders(xlEdgeTop).LineStyle = xlNone .Borders(xlEdgeBottom).LineStyle = xlNone .Borders(xlEdgeRight).LineStyle = xlNone .Borders(xlInsideVertical).LineStyle = xlNone .Borders(xlInsideHorizontal).LineStyle = xlNone End With これしかないですか? 「一度で全ての罫線をなくす」 みたいなのがあったら教えてください。よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
内容的には変わりませんけれど… xlEdgeTopなどは数値なので、以下でも同じ結果になります。 For i = 5 To 12 .Borders(i).LineStyle = xlNone Next i
その他の回答 (2)
- cj_mover
- ベストアンサー率76% (292/381)
> 何もかわりませんでした。 何も、というのは解りません。そんな仕様変更があったのかな? 省略しないで書くと以下のようになります。 (マクロの記録だと無用な斜線への処理も記録するので、 或いは必要ないのかと思い省略していたのですが) 記憶では以下の記述で2003でも通ってたんですけれども、 何か私が思い違いしているようでしたらスミマセン。 今確かめられないのですが、仕様に関する私の錯覚があるのかも知れません。 Sub BordersInt() With Selection.Borders .LineStyle = xlLineStyleNone .Item(xlDiagonalDown).LineStyle = xlLineStyleNone .Item(xlDiagonalUp).LineStyle = xlLineStyleNone End With End Sub
お礼
お返事遅くなりましたが私のPCじゃ動作しませんでした 泣 再度ありがとうございます。
- cj_mover
- ベストアンサー率76% (292/381)
こんにちは 質問への解釈にもよると思いますが、 Sub BordersInt() Selection.Borders.LineStyle = xlLineStyleNone End Sub ということなのでは? XL2000でしか試してませんが、上記で、太さや色もクリアしますから、 初期化と呼んでもよいと考えます。
お礼
あれれ! オフィス2003なのですが 実行しても何もかわりませんでした。
お礼
おお!少しは短くなりますね! ありがとうございます。