こんにちは、ヒガシです。
先日VBA上でちょっとしたゲームを作っているときに、選択領域やセルの中身を右に寄せたい状況に遭遇しました。
ということでこのページではVBAを使って、以下の動画に示すように、複数選択したセルや領域を一括で右寄せ(右揃え)に変更する方法をご紹介していきます。
それではさっそくやっていきましょう!
指定セル内を右寄せ(右揃え)にする方法
まずは基礎スキルとして、指定した単一領域の中身を右寄せにする方法をご紹介します。
その方法は以下の通りです。
Range(“A1”).HorizontalAlignment = xlRight
この例ではA1セルの中身を右寄せにすることができます。
話はそれますが、最後のxlRightの部分をxlLeftにすれば左寄せ、xlCenterにすれば中央揃えに変更できます。
先ほどの動画ではこのスキルを選択した領域に対して順番に適用していっていたわけです。
選択した複数領域&セルを一括で右寄せにするマクロ
それでは冒頭で紹介した動画の処理を実施してくれるマクロをご紹介します。
Sub Range_To_Right()
'選択したセルのアドレスを取得する
select_address = Selection.Address
'取得したアドレスを分割する
address_array = Split(select_address, ",")
'選択したセルに対して順番に処理
For j = LBound(address_array) To UBound(address_array)
Range(address_array(j)).HorizontalAlignment = xlRight
Next
End Sub
下から3行目を見ていただくと、先ほど紹介したスキルが使われていることがわかると思います。
おわりに
ということで今回は選択した複数領域&セルの中身を右寄せ(右揃え)にする方法をご紹介しました。
何かしらゲームを作ったりする際に使えそうですね。
このように、私のブログではエクセルスキルはもちろん、様々なプログラミングスキルを紹介しています。
ぜひ他の記事ものぞいてみてください。
それではまた!
コメント