dポイントプレゼントキャンペーン実施中!

エクセルで罫線を90度回転させるマクロを教えてもらいたいのですが。
例えば、選択セルの上・左・下に罫線が引かれている時に実行すると、左・下・右に罫線の位置が変わります。選択セルが複数の場合もあります。
よろしくお願いします。

A 回答 (2件)

エクセルで罫線を90度左回転させるマクロは、こんな感じになります。


素人なので文法的な適否はあまり自信はありませんが、テストにはパスしました。

Sub 罫線回転()

'選択したセルの罫線の位置の左90度回転

Dim Lstyl(4), Wgt(4), n, m As Integer
ich = Array("", xlEdgeTop, xlEdgeLeft, xlEdgeBottom, xlEdgeRight)
'選択セルの罫線種類の取得
For n = 1 To 4
Lstyl(n) = Selection.Borders(ich(n)).LineStyle
Wgt(n) = Selection.Borders(ich(n)).Weight
Next n
'90度左回転で罫線種類を再セット
For m = 1 To 4
With Selection.Borders(ich(m Mod 4 + 1))
.LineStyle = Lstyl(m)
.Weight = Wgt(m)
.ColorIndex = xlAutomatic
End With
If Lstyl(m) = xlNone Then Selection.Borders(ich(m Mod 4 + 1)).LineStyle = xlNone
Next m
End Sub
    • good
    • 0
この回答へのお礼

うまくいきました!
ありがとうございました!!

お礼日時:2006/07/05 19:34

>罫線を90度回転させる


エクセルシートの罫線は回転できるオブジェクトではないと思う。
ですから、アルゴリズムを考えて、罫線を消すのと罫線を書くのをあわせて行い、結果として、回転したと見せるほかないでしょう。
罫線は1セルの局所的状況は捉えられても、大局的な状況が捉えにくいので難しいように思う。複数セルで四角か、凹凸ありかなどのこと。
○必要性、どういう問題を解決しようとしているのか
セルおよびその集合の中身との関連があるはずで、ビジネスではどんな場合に必要なのか思い浮かばない。
1回限りのようなものは、手操作でやるべきでしょう。
○まず質問者がマクロを離れて、アルゴリズムを考え、文章で表現してみることでしょう。
    • good
    • 0
この回答へのお礼

ご指摘ありがとうございます。

お礼日時:2006/07/05 19:32

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!