• ベストアンサー

EXCEL:アクティブなセルからその行を取得して書式を変更させたい

あるアクティブなセルのある行全体に対して、セルの書式を変更するには どのような方法があるでしょうか。 例えば、絶対参照で"A2"を選択しているとした場合では、 下記のような書き方になると思います。 Rows("2:2").Select Selection.NumberFormatLocal = "G/標準" これが、"A14"であったり"A435"であったりした場合、 14行目、435行目の書式を変えたいのです。 今動かしているものは、1行目から順に処理をするものなので、 処理回数(=処理行)を変数xにカウントして、 Rows(x).Select Selection.NumberFormatLocal = "G/標準" という方法で対処していますが、今後、任意の行に対して 処理を行う予定にしているので、対応できなくなると思うのです。 以上となりますが、よろしくお願いします。

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

  • ベストアンサー
  • kokorone
  • ベストアンサー率38% (417/1093)
回答No.1

アクティブセルの、列・行がわかれば いいんですよね。 参照URLです。

参考URL:
http://www.asahi-net.or.jp/~ZN3Y-NGI/YNxv964.html
MONAKA2003
質問者

お礼

ありがとうございます。 作業場所にネット環境がなかったので検索できませんでしたが、参考になりそうなので、印刷してもっていきます。

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

その他の回答 (1)

  • mysticage
  • ベストアンサー率32% (52/158)
回答No.2

ActiveCell.EntireRow.NumberFormatLocal = "G/標準" という1行にしてはどうですか?

MONAKA2003
質問者

お礼

ありがとうございます。 これで何とかなりそうなので、後はヘルプなどを見て勉強したいと思います。

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

関連するQ&A

  • ある範囲の書式を飛び飛びに貼り付けたい

    Excel2007でマクロ作成してる初心者です。  ある範囲の書式を移動しながら、書式を貼り付けていく  マクロの書き方がわかりません。どなたかご教示おねがいします。 Sub 書式の貼り付け() '"F14:AG28"の範囲に書式を設定 Range("F14:AG28").Select Selection.NumberFormatLocal = "h:mm;@" '"その範囲を24行だけ移動し、全く同じ書式を貼り付ける Selection.Copy Range("F38").Select ’24行目のセル Selection.PasteSpecial Paste:=xlPasteFormats '"その範囲をまた24行だけ移動し、全く同じ書式を貼り付ける   Range("F62").Select ’48行目のセル Selection.PasteSpecial Paste:=xlPasteFormats  これをシートの数だけ繰り返す。  ’・・・  ’・・・ Application.CutCopyMode = False Range("A3").Select End Sub

  • 結合されているセル行の中から1行だけを非表示にするマクロ

    結合されているセル行の中の1行だけを非表示したいと思っています。 例えばA1:A5が結合していて、B1:E5までは一切結合されていない状態で、3行目だけを非表示にしたいのですが、 Rows("3:3").Select Selection.EntireRow.Hidden = True とすると、1~5行目まで全てが非表示になります。 マクロを自動記録すると Rows("3:3").Select Range("B3").Activate Selection.EntireRow.Hidden = True となるのですが、この通りにコーディングしても、やはり1~5行目が非表示になります。 1行だけを非表示にしたい場合は、どのように記述すれば良いのでしょうか? よろしくお願いします。

  • 行幅をなくしたいのですが…

    行幅を0にするマクロを作成したのですが、セルが結合されているとそのセルの文字まで消えてしまいます。下のマクロは一度セル結合を解除して、その文字をコピーしたままセル幅を0にして、またセル結合してコピー貼り付けるようなやり方です。最後の3行は残しといて幅を合わしています。もっと良いやり方あれば教えてください。分かりずらいかもしれませんがお願いします。 又、元の幅に合わしたいマクロも教えていただければ助かります。   Range("A4:A14").Select Selection.UnMerge Range("A4").Select Selection.Copy Range("A12").Select ActiveSheet.Paste Rows("4:11").Select Selection.RowHeight = 0 Range("A12:A14").Select Application.CutCopyMode = False Selection.Merge Rows("12:14").Select Selection.RowHeight = 14.25

  • excel2003のマクロで全シートを選択したい場合

    初心者です、お願いします。 Sheets(Array("Sheet1", "Sheet2", "Sheet3")).Select Sheets("Sheet1").Activate Range("E1").Select Selection.NumberFormatLocal = "G/標準" ’現在文字列 ActiveCell.FormulaR1C1 = "7/1/2008" Range("F1").Select Selection.NumberFormatLocal = "G/標準"  ’現在文字列    ActiveCell.FormulaR1C1 = "5/31/2009"  上記の記述で1行目、全シートの選択を指定したいのです。 どのように変えたら良いかどなたか教えてください。

  • 繰り返して書式を行の下方に貼付けたいです

    Excel2007でマクロ作成中の初心者です。  特定範囲「F14:AG28」の書式「"h:mm;@"」を  F38から開始して、24行目ごとに  繰り返して貼り付けたいです。  以下自動記録で作成しましたが、繰り返しができません。  繰り返しのマクロを教えてください。 Sub test() Range("F14:AG28").Select Selection.NumberFormatLocal = "h:mm;@" Selection.Copy Range("F38").Select Selection.PasteSpecial Paste:=xlPasteFormats Range("F62").Select Selection.PasteSpecial Paste:=xlPasteFormats Range("F86").Select Selection.PasteSpecial Paste:=xlPasteFormats Range("F110").Select Selection.PasteSpecial Paste:=xlPasteFormats Range("F134").Select Selection.PasteSpecial Paste:=xlPasteFormats 以下繰り返します。 ("F158").Select ("F182").Select ・・・ ・・・  繰り返し回数は  Sheets.Count - 12 です。   Application.CutCopyMode = False End sub

  • 選択したセルの、画面最上行から1つ下のセルを選択

    EXEL 2002 です。 任意に選択したセルの、画面最上行から1つ下(Rows.Count = 2)のセルを選択する場合のコードですが、 どうも解りません。 何卒、よろしくお願い致します。 ----------------------- Cells(2, Selection.Columns.Count).Select

  • 【マクロ】任意の行の下へ行の挿入&選択

    セルA3:DS750の表があります。 1行=1顧客として使用していますが、度々表に行を挿入して顧客を追加しています。 その為、以下のマクロを作ってみたのですが、最後に【挿入した行をActiveにする】事ができません。 ★挿入位置は、都度変わります。 ★一度に行う挿入行数は1行(多くても3行)の為、マクロは1行追加で作成しています。(行数の指定までは力量により出来ませんでした・・) ★1行目にサンプルを(非表示で)置いて、それを任意の行へ挿入させています。 1行目のサンプルを非表示のまま貼り付けると、挿入した行も非表示になってしまったので、一度再表示させてから処理させています。 サンプル行には、条件書式、数式などがところどころ入っています。 処理の最後に【'行を指定して挿入】と同じ行をActiveにする方法が知りたいです。 記録マクロをいじっただけなので見づらいと思いますが、よろしくお願い致します。 -------------------------------- Sub 挿入() '1行目を再表示 Rows("1:1").Select Selection.EntireRow.Hidden = False '1行目をcopy Rows("1:1").Select Selection.Copy '行を指定して挿入 InsertRow = InputBox("何行目の下に挿入しますか?") + 1 Cells(InsertRow, 1).Insert Shift:=xlDown '1行目を非表示 Rows("1:1").Select Selection.EntireRow.Hidden = True '挿入した行をactiveにする ・・・ end Sub -------------------------------- マクロが根本的におかしかったらすみません。。 アプローチ方法が他にある場合にもご指摘いただけると助かります。

  • ExcelVBA 選択したセルの取得

    こんにちは。ゆきのです。 選択した範囲のセルに対して、Excelのマクロで 1回ずつ処理を行いたいと考えています。 まずセル数を取得したいのですが、  「selection.cells.count」でセル数を取得すると、  同じセルが複数回カウントされます。 またセルの範囲を取得したいのですが、  「selection.address」で範囲を取得すると、  重複したセルを含んだそれぞれの範囲が取得されます。 例えば、  (1)  「$A$1」を「ctl」+「左クリック」で3回選択した状態だと、  「selection.address」が「$A$1,$A$1,$A$1」となり、  「selection.cells.count」は「3」となります。  (2)  「ctl」+「左クリック」で「A1:B1」「A1:A2」を連続で選択した状態だと、  「selection.address」が「$A$1:$B$1,$A$1:$A$2」となり、  「selection.cells.count」は「4」となります。  ($A$1が2回カウントされます) この時、同じセルを複数回カウントせずにセル数を 取得することはにできるのでしょうか? (上の例の場合ですと、(1)が「1」、(2)が「3」と取得したいです。) また、複数選択で範囲を取得する場合に選択が重複したセルを 除いた状態の範囲を取得することはできるのでしょうか? 処理したセルを記憶させるなどの方法は考えてみたのですが、 別の方法はないかと思い、質問させていただきました。 どなたか、教えて頂けませんか?? よろしくお願いします。

  • Excel2000でのセルの書式設定

    Excel2000でセルに年月日を入力すると、セルを日付に書式設定していないのに、日付に設定され、そのあと標準にもどしてもシリアル値で表現されてしまいます。 セルの書式設定が自動でなされないようにする方法はあるのでしょうか? 'を使えば標準のままでいることは、知っているのですが、書式設定が変わらないほうが便利なのですが…。

  • EXCEL2007でセルの書式が勝手に変わっている

    会社でエクセル2007を使用していますが 保存したファイルを再度開くと、保存時に書式が標準であったセルや 数値であったセルが、全て日付に変わってしまいます。 特に変わった操作はしていないと思うのですが・・・ 保存形式は2007のxlsxです。 A列からBA列までの53列X1500行の表で 関数はSUMなどの合計(10列x1000行、書式は会計)と、 商品名表示の参照関数(1列X1000行、書式は標準)と 売上月の振分に配列関数(12列X1500行、書式は会計) 程度入力してあり、 他は入力規則でリストから選ぶ列(書式は標準、数値) のみのシート内容です。 そのシートが合計9シート有り、他にリスト用のシートと 9シート分の集計シートが1シートの構成です。 ファイルサイズは約7MBです。 説明できる内容はこの位になってしまいますが 何か原因が判ればご教示お願いしたいと思います。 よろしくお願いいたします。

専門家に質問してみよう