• ベストアンサー

マクロ G列のみ2行目から最後の行まで右揃えにする

マクロを作成しているのですが、 「G列のみ、2行目から最後の行まで右揃えにする」VBAを教えていただきたいです。

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

  • ベストアンサー
  • 3620313
  • ベストアンサー率33% (4/12)
回答No.1

Range("G2", Cells(Rows.Count, 7).End(xlUp)).Select With Selection .HorizontalAlignment = xlRight End With ですね

tanpopopoketto5
質問者

お礼

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

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

その他の回答 (3)

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.4

 もし、「最後の行」が「2行目」未満だった場合には「右揃えにしない」ようにしなければなりませんから、そのためには以下のようなマクロとする必要があります。 Sub Macro1() Const myColumn As String = "G" '処理対象となる列の列番号 Const FirstRow As Long = 2 '処理対象となるセル範囲の中の最初のセルの行番号 Dim LastRow As Long LastRow = Range(myColumn & Rows.Count).End(xlUp).Row If LastRow >= FirstRow Then _ Range(myColumn & FirstRow & ":" & myColumn & LastRow) _ .HorizontalAlignment = xlRight End Sub 或は Sub Macro2() Const myColumn As String = "G" '処理対象となる列の列番号 Const FirstRow As Long = 2 '処理対象となるセル範囲の中の最初のセルの行番号 With Range(Range(myColumn & FirstRow), Range(myColumn & Rows.Count).End(xlUp)) If .Row >= FirstRow Then .HorizontalAlignment = xlRight End With End Sub

tanpopopoketto5
質問者

お礼

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

全文を見る
すると、全ての回答が全文表示されます。
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.3

こういう単項目のVBAの質問は、 (1)マクロの記録を思い出せ。 相当VBAに上達しても、マクロの記録を取って、コードを参考にするケースはなくならないと思うよ。 (2)2番目に言いたいこと >最後の行まで こういうのもWEBで照会すればすぐわかるよ。 Googleで 「vba 最後の行まで」で照会する。 http://excel-ubara.com/excelvba4/EXCEL257.html など多数。

tanpopopoketto5
質問者

お礼

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

全文を見る
すると、全ての回答が全文表示されます。
回答No.2

とりあえず、 「G2:G40の範囲を右詰め」 を記録すると、     Range("G2:G40").Select     With Selection         .HorizontalAlignment = xlRight         .VerticalAlignment = xlCenter         .WrapText = False         .Orientation = 0         .AddIndent = False         .IndentLevel = 0         .ShrinkToFit = False         .ReadingOrder = xlContext         .MergeCells = False     End With こんな感じで録れるだろうと思われます。 G列のデータ範囲の最終行は、 データが隙間なく連続しているなら     Range("G2", Range("G2").End(xlDown).Address) で取得できます。 なので、先ほどの記録にコレを組み込んで、 要らないところを削除して、完了です。     Range("G2", Range("G2").End(xlDown).Address).HorizontalAlignment = xlRight     

tanpopopoketto5
質問者

お礼

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

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

関連するQ&A

  • エクセルのマクロ作成で困っています。任意の列(〇列1行目)から0001

    エクセルのマクロ作成で困っています。任意の列(〇列1行目)から0001-安部 0002-安藤 0003-木下・・と入力された列があります(番号は3桁あるいは4桁です)。そして、例えば最後の入力されたセルの行番号が56だとして、そこに入力されたものが「0056-名前」であるか確認するマクロを作りたいのですが、どのように記述すればよいでしょか?確認したいのは番号(この場合'0056')のみで良いのですが・・。

  • wordで各行の最後の単語だけ右揃えにする

    word2003で各行の最後の単語だけ右揃えにすることは できるのでしょうか? 例えば ○○○___○○○○○○_____××× ○○○○__○○○○_____××××× という具合です。アンダーバー部分はタブで飛ばしたいのですが、 ○は、左揃えで入力が始まり、×は右揃えで入力したいのです。 これってできるのでしょうか? wordは余り使ったことが無くさっぱりわかりません。 教えてください。宜しくお願いします。

  • 1文の中で中央揃えと右揃えを設定

    ワードで同じ行のなかで中央揃えと右揃えを同時に使うことってできますか? 例えば以下の ああああああああいいいいいいいいいい という文であああああああの部分は中央揃えでいいいいいいの部分は右揃えすることはできますでしょうか?

  • 行を削除するマクロ

    a列には数値が入っています。 2行目から、a列の数値が最大かつ最下の行(この場合は12行目)までを削除するマクロのvbaの構文を教えてください。 削除するのは行全体で、a列だけではありません。 エクセル2010です。 どうぞよろしくお願いします。

  • 行を削除するマクロ2

    a列には0から2の数値が入っています。 2行目から、a列の数値が2かつ最下の行(この画像の場合は12行目)までを削除するマクロのvbaの構文を教えてください。 ただし、a列の数値がすべて2未満の場合、行は削除しないようにしてください。 削除するのは行全体で、a列だけではありません。 エクセル2010です。 どうぞよろしくお願いします。

  • Excel マクロで 列と行を非表示にするには?

    Excel マクロ初心者です ボタンで sheetの 行1~10を非表示にして その後さらに列のBA~BJを非表示にするマクロを設定したいのですが マクロの自動記録にすると シート上一部のセルのみが残り その他は全て消えてしまいました。 行または列だけの非表示の自動記録は 正常に動きますが 単独のマクロを行と 列でそれぞれ作り、片方を動かした後 もう一方を動かすとやはり一部のみ残り 他は全て消えてしまいます。 マクロで行と、列を同時に非表示にするのは無理なんでしょうか?

  • 2行2列の行列を所望の回数だけ計算させるVBAコード

    画像のような2行2列の行列を所望の回数だけ計算させるVBAマクロはどのように作成すればよろしいのでしょうか?

  • wordで一行ごとに文字の配置を換えたいのです。例えば一行目は中央揃え

    wordで一行ごとに文字の配置を換えたいのです。例えば一行目は中央揃え、二行目は右揃えという風にです。一行目の左端にカーソルを持っていって中央揃えのボタンを押すと全体が中央揃えになってしまい、二行目を右揃えにすると全体が右揃えになってしまいます。範囲指定をしても同じ結果です。どうぞよろしくお願いいたします。ちなみにwordは2003です。

  • 列の数値が0の場合、行を非表示もしくは削除したい

    F列6~7行の数値が0の場合行を削除したい場合のマクロはどのように組めば良いでしょうか? F列斜線セルは数値非表示の設定としておりますが数式は入っております。 元々作成したマクロに追加編集の予定です。 VBA初心者の為、編集方法も簡単にご説明頂ければ助かります。 宜しくお願い致します。

  • ExcelVBA特定の列にデータがある行を消したい

    Excel2003を使っているのですが、VBAを使って特定の列(たとえば、I列)にデータがある(空白でない)行をすべて消したいのですが、どのようなマクロを書けばできるでしょうか?

専門家に質問してみよう