• ベストアンサー

罫線を回転

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

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

  • ベストアンサー
  • pc_knight
  • ベストアンサー率66% (52/78)
回答No.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

yumerie
質問者

お礼

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

すると、全ての回答が全文表示されます。

その他の回答 (1)

  • imogasi
  • ベストアンサー率27% (4737/17070)
回答No.1

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

yumerie
質問者

お礼

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

すると、全ての回答が全文表示されます。

関連するQ&A