こんにちは!りゅう(@ryupong_b)です。
今回は、セル内の文字列の角度を変更する方法について解説します。
今回は、セル内の文字列の角度を設定する方法をご紹介します。
セルの文字列が長くなってしまう場合に、可読性を向上させるために使用する場面があると思います。
また、本記事では文字列を縦書きにする方法もご紹介します。
本記事では、サンプルコードを用いてコピペでも使える実践的なコードをご紹介しますので、是非最後までお付き合いください。
- 文字列の角度を設定・取得する方法が分かります。
- 文字列を縦書きにする方法が分かります。
- サンプルコードを用いて、コピペで使える実践的なコードをご紹介します。
前提
Excelにおける角度
Excelにおける角度は90度から-90度まで存在します。
0度が水平(通常通り)の表示です。
角度の反映後のイメージを以下に示します。
基本情報
Orientationプロパティ
文字の角度を変更するには、セルの書式設定の1つであるOrientationプロパティを使用します。
Orientationプロパティは、角度の設定だけでなく取得も可能です。
設定と取得を分けてご説明します。
設定
Orientationプロパティを設定する方法は、以下の2パターン存在します。
- 角度を直接指定する方法
- VBAにて標準で搭載されている定数を指定する方法
‘ A1セルの文字列の角度を 45度にする
Range(“A1”).Orientation = 45
‘ B2 – E2の文字列の角度を 90度にする
Range(“B2:E2”).Orientation = xlUpward
-90度から90度の範囲で指定してください。
上記の範囲を超えて指定してしまうとエラーとなります。
構文の例では「xlUpward」を指定していますが、その他の定数についてもご紹介します。
# | 定数 | 説明 |
---|---|---|
1 | xlDownward | -90度の角度 |
2 | xlHorizontal | 0度(水平)の角度 |
3 | xlUpward | 90度の角度 |
4 | xlVertical | 垂直(縦書き) |
Orientationプロパティに、「xlVertical」定数を代入すると以下のように縦書きの設定となります。
取得
角度を取得する構文を以下に示します。
‘ A1セルの角度を取得する
Dim orientationVal As Integer
orientationVal = Range(“A1”).Orientation
‘ A2セルの文字列の角度をB2セルに反映する
Range(“B1”).Orientation = Range(“A1”).Orientation
サンプルコード
個別のセルを指定の角度に変更する
Public Sub setCellOrientation()
' A1セルの文字列の角度を45度に設定する
Range("A1").orientation = 45
' B2セルからE6セルを縦書きにする
Range("B2:E6").orientation = xlVertical
' A1セルの文字列の角度を 1行目すべてに反映させる
Range("1:1").orientation = Range("A1").orientation
End Sub
シート内すべてのセルの角度を水平にする
Public Sub resetAllCellOrientation()
' 1シート目の全てのセルの角度を水平(0度)に設定する
ThisWorkbook.Worksheets(1).Cells.orientation = xlHorizontal
End Sub
最後に
今回は、セル内の文字列の角度を取得・設定する方法をご紹介させて頂きました。
この記事が、皆さんのお力になれば幸いです!
コメント