• ベストアンサー

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 これしかないですか? 「一度で全ての罫線をなくす」 みたいなのがあったら教えてください。よろしくお願いします。

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

  • ベストアンサー
  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.1

内容的には変わりませんけれど… xlEdgeTopなどは数値なので、以下でも同じ結果になります。  For i = 5 To 12   .Borders(i).LineStyle = xlNone  Next i

zxdaeg
質問者

お礼

おお!少しは短くなりますね! ありがとうございます。

その他の回答 (2)

  • cj_mover
  • ベストアンサー率76% (292/381)
回答No.3

> 何もかわりませんでした。 何も、というのは解りません。そんな仕様変更があったのかな? 省略しないで書くと以下のようになります。 (マクロの記録だと無用な斜線への処理も記録するので、 或いは必要ないのかと思い省略していたのですが) 記憶では以下の記述で2003でも通ってたんですけれども、 何か私が思い違いしているようでしたらスミマセン。 今確かめられないのですが、仕様に関する私の錯覚があるのかも知れません。 Sub BordersInt()  With Selection.Borders   .LineStyle = xlLineStyleNone   .Item(xlDiagonalDown).LineStyle = xlLineStyleNone   .Item(xlDiagonalUp).LineStyle = xlLineStyleNone  End With End Sub

zxdaeg
質問者

お礼

お返事遅くなりましたが私のPCじゃ動作しませんでした 泣 再度ありがとうございます。

  • cj_mover
  • ベストアンサー率76% (292/381)
回答No.2

こんにちは 質問への解釈にもよると思いますが、 Sub BordersInt()  Selection.Borders.LineStyle = xlLineStyleNone End Sub ということなのでは? XL2000でしか試してませんが、上記で、太さや色もクリアしますから、 初期化と呼んでもよいと考えます。

zxdaeg
質問者

お礼

あれれ! オフィス2003なのですが 実行しても何もかわりませんでした。

関連するQ&A