• 締切済み

No.4、Excel2007で質問です

範囲C3~I10の各セルにABCのいずれかがデータとして適当に既に入ってます。 そして範囲C11~I11から次々と下へ向かってデータが行単位で追加されます。 とあることから範囲C3~I10を範囲N3~T10に上下逆さまにしコピーして挿入しました。 ここからが私のしたいことになります。 範囲(C11:I11)から下へ向かってデータが追加されるたびに、そのデータが1番上の範囲N3~T3にコピー挿入されて、それまでに入ってたデータ(N3:T3)が、データ(N4:T4)→(N5:T5)→…へと一行ずつ下へ行くようにずらしたいです。 マクロでお願いいたします。 画像を添付する

みんなの回答

  • mt2015
  • ベストアンサー率49% (258/524)
回答No.2

・「データの追加」なので、上のセルが空でない&下のセルが空を条件にしました ・データが削除された時も、上のセルが空でない&下のセルが空の時は空白を追加と判断します。 ・Sheetモジュールに入れてください。 Private Sub Worksheet_Change(ByVal Target As Range)   For Each r In Target     '対象範囲か?     If (r.Row > 10) * (r.Column >= 3) * (r.Column <= 9) Then       'データの追加か?       If (r.Offset(-1, 0) <> "") * (r.Offset(1, 0) = "") Then         'セルを挿入して値を入れる         Cells(3, r.Column + 11).Insert Shift:=xlDown         Cells(3, r.Column + 11).Value = r.Value       End If     End If   Next End Sub

961awaawa
質問者

お礼

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

全文を見る
すると、全ての回答が全文表示されます。
  • watabe007
  • ベストアンサー率62% (476/760)
回答No.1

11行以下の最終行を Range("N3:T3") に挿入します。 Sub Test()   Dim LastRow As Long   LastRow = Cells(Rows.Count, "C").End(xlUp).Row   'C列の最終行が10以下だと終了   If LastRow <= 10 Then Exit Sub   Cells(LastRow, "C").Resize(, 7).Copy   Range("N3:T3").Insert Shift:=xlDown   Application.CutCopyMode = False End Sub

961awaawa
質問者

お礼

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

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

関連するQ&A

  • Excel2007で質問?です

    E3から、各セルにABCのいずれかが入っており、下に向かっているデータがあります。 それとは別でO3にもE3のような形でデータも入っており関数も入ってます。 今回の私の質問はここからになります。 先程のE列のデータをマクロボタンを押すたびにE3から1つずつ下に向かっていきO3に1つずつ値だけをコピー挿入し今までの値を下へ1つずつずらしたいです 。 それまでにあったO3から下のデータ群には既に関数が入っており値だけが1つずつ下にずれていく形にしたいです。O3から下の関数は動かないようにしたいです。 本当にわかりませんのでお願いします。エラーになる度にヘコみます。

  • Excel2007で質問です。

    sheet1にセルD3から下に向かってデータが2000個以上入ってます。 (1)マクロボタンを押します。 (2)D列で任意の行番号の値(今回は1000行目)をコピーします。 (3)sheet2,sheet3,sheet4のN6に(2)をペイストします。 (4)、(1)に戻りマクロボタンを押します。 (5)、(2)に行きまして、1つ下の1001行目をコピーします。 (6)、(3)に行きN6の下のN7にペイストします。 これをマクロボタンを押す度に繰り返したいです。

  • Excel2007で久々に質問させてください。

    お久しぶりです、watabe007さん。こんな時間にすみません。 質問させてください。 Excel2007で背景にカラーが付いたセルの個数をあらわしたいです。 セルAA6から下に向かってセルAA4363以上に下に向かってデータが入ってます。データは下に向かって増えていきます。(増えずに範囲内でも大丈夫です) そのデータの中に色の入ったデータが幾つかあります。一色(基本的なイエロー)だけです。 その色の入ったセルが何個あるかをセルAA4に表したいです。 条件付き書式ルールの管理は 数式:=And(AA6=$N7,$N7〈〉"") 適用先=$AA$6:$AE$4363 と設定しています。 お願い致します。マクロか、addinのインストールを薦めて頂きましたが私には全くわからない範囲なんで、マクロならこの人だと思いました。勝手ですみません。

  • エクセル:一つ上のデータを下にコピーするマクロ

    例えば下のようにデータが記入されています。しかし所々データが消えてしまいました。 一律一つ上のデータを下にコピーするマクロを教えていただけないでしょうか。 全データ数は固定ではありません。一番下までという考えでお願いします。 所々二つ以上消えている部分もあります。 ABC001 ABC001 ABC001 ABC001 ABC001 ABC002 ABC002 ABC002 ABC002 ABC002

  • エクセルVBAでコピーしたグラフについて

    別シートからグラフをコピーして新シートにはりつけました 元データの範囲を1行下を参照するようにマクロで作成したいのですが。。。 =SERIES(系列名,Xの値,Yの値,系列番号) の系列名とYの値を一行下の範囲を参照したいのです。 グラフから下のようにデーター範囲を取得し、一行下の行のデータ範囲に変えてグラフを変更したいです。  ActiveChart.SeriesCollection(1).Formula = _ "=SERIES(元データ!$B$19,元データ!$C$3:$DI$3,元データ!$C19:$DI19,1)"                     ↓ このようにしたいのですが1回ごとに19を20に打ち直さずにマクロ                       でしたいのです ActiveChart.SeriesCollection(1).Formula = _ "=SERIES(元データ!$B$20,元データ!$C$3:$DI$3,元データ!$C20:$DI20,1)" ループさせて 19を20につぎは20を21に・・・・・最終的には59を60行を参照するように 取得して変換していきたいのです 書き方が悪くて申し訳ありません。 どなたかわかるかた大至急教えてください。宜しくお願いいたします。

  • Excel2007で複雑なセルコピペ。

    sheet8のセル範囲C3からセルI10000までの各セルにA~Jのいずれかがランダムに入ってます。 マクロボタンをおします。 (1)、C12の値をM3にコピペしてC12から5行戻ったC7の値をセルO3にコピペします。 (2)、M3の値とO3の値が同じならM3の背景色を黄色にしたいです。同じでないならそのままです。 マクロボタンを押します。 (3)、1つ下のC13に行き(1)と同じことをするのですが、1つ下のM4にC13の値をコピペしてC13から7行戻ったC6の値をO4にコピペしたいです。 (4)、(2)と同じようになり マクロボタンを押します (5)、1つ下のC14に行き(1)と同じことをするのですが、1つ下のM4にC14の値をコピペしてC14から9行戻ったC5の値をO5にコピペしたいです。 (6)、(2)と同じようになります。 マクロボタンを押します。 End マクロボタンを押す度にC12から1つずつ下に向かい、M3から1つずつ下に向かって値をコピペするのですが、セルOにコピペされるのは1つずつ下に向かうセルCの値から、5行戻り、7行戻り、9行戻りと戻ってはまた5行、7行、9行と戻った値を繰り返しコピペしたいです。 よろしくお願いいたします。

  • 「と」(の上下さかさまの記号)の意味は?

    数学の記号で「xx」(の上下さかさまの記号)が分からなく困っております.整数等を「と」(の上下さかさまの記号)で囲むのですがこれはどういう意味でしたでしょうか. 「n/l」(の上下さかさまの記号) n, l共に整数 のような感じで本に載っていたもので... 見たことがあるような気もしますが忘れてしまいました... 「 」(の上下さかさまの記号) は,[と]の下の_がとれたものです.入力できなかったもので,すみません. よろしくおねがいします.

  • エクセル パターン化した挿入方法

    よろしくおねがいします。 OS は、windowsXPです。 エクセル(2003)で、たとえば、 111   11 113 11 ・ ・ ・ ・ この列のなかに一行おきに挿入 111 この間に  11 この間に 113 この間に 11 同じパターンでたとえば、25個とかのデーターを、挿入したいのですが 何かいい方法は、あるでしょうか? 今まで、コピーをして貼り付けをしていたのですが、今回は 莫大な、データーで間違えてしまいました。 それで、やはり、ソフトの方で入力した方が、確実だと、感じています。 マクロでもかまいませんが、教えていただけないでしょうか。 これから、マクロも勉強したいと思いますが、 先に、かたずけてしまいたいので、よろしくお願いします。

  • エクセルで抽出したデータを別シートにコピーしたいです

    エクセル2003を使用しています。 例えば、以下のような表があります。  ABC 1あ10 2い15 3あ20 4 A列が条件となり、たとえば「あ」のデータだけ抽出して、そのデータを別シートにコピーします。 同じく「い」だけを抽出して、また別のシートにコピーします。 いままでは、オートフィルタで抽出して自分でコピーをして貼り付けしていましたが、日々データが次の行に追加になるので、毎回オートフィルタしてコピーするのは大変です。 関数か、マクロかVBAを使ってする方法はありますでしょうか。 できれば日々追加になるデータのみをすでにある別シートの前日までのデータの下に追加できるようになればいいと思うのですが。 知識が乏しくできません・・・ よろしくお願いいたします。

  • Excel2000で複数のテキストファイルを自動で開きたい

    タイトルのとおりなのですが、下のようなテキストファイルが数十個あります。 10 ABC 0.123 0.456 0.789 20 ABC 1.123 1.456 1.789 すべて2、3行です。 これを1つの表にまとめたいと思っています。 フォルダにあるファイルすべてを開き、Excelのシートに コピーさせるようなマクロは作ることができるのでしょうか? ちなみに、ファイル名は一定ではありません。 よろしくお願いします。

専門家に質問してみよう