• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセル マクロで数値が変った時行挿入できますか)

エクセルマクロで数値が変った時行挿入できますか

このQ&Aのポイント
  • エクセルのマクロを使用して数値が変化したときに行を挿入することは可能です。
  • 初心者の方でも簡単なマクロを使って行挿入ができます。
  • 具体的な操作方法を説明いたしますので、ご参考にしてください。

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

  • ベストアンサー
  • DOUGLAS_
  • ベストアンサー率74% (397/534)
回答No.2

こんな感じでしょうか。 Sub Macro1()  Dim i As Long 'A列の最終行から上方向にA列の値を見ていき  For i = Range("A" & Rows.Count).End(xlUp).Row To 3 Step -1 '前の行の値と異なる場合には   If Range("A" & i).Value <> Range("A" & i - 1).Value Then '行を挿入します。   Rows(i).Insert   End If  Next i End Sub

yuutomo0908
質問者

お礼

返事遅くなり申し訳有りません。 教えていただいた通り実行して順調にできました。 記述の意味まで丁寧に教えていただきありがとうございます。 その意味で今回の回答をベストアンサーとさせていただきました。 もっと勉強していきたいと思います。 ありがとうございました。

その他の回答 (5)

  • chonami
  • ベストアンサー率43% (448/1036)
回答No.6

全く的外れな事を書いてたら申し訳ないのですが、項目が変わるごとに行を挿入という事はひょっとして集計をしたいのでしょうか?(小計行を入れたい) それでしたら、集計機能を使われるほうがスムーズに行くと思うのですが。 あくまでもマクロで、とか全然違う用途だから、という事でしたらスルーして下さい。 ちょっと思っただけです・・・

yuutomo0908
質問者

お礼

ご指導ありがとうございます。 集計では上手に出来ず今回の質問に至りました。 また、よろしくお願いいたします。

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.5

>お分かりになる方がおられましたら、 しくみはVBAをやる人はだれでも知っている。 ーー ただ初心者が、データの入力情況で、自動で行挿入や削除やその他のことを考える・仕組みむのは、早すぎる。 イベントという概念・仕組みの問題だと思う。 また普通はA列だけ中心で考えて良いケースは余りないのでは。 初心者は興味がそちらに行くようだが、もっと基礎的で、早い時期に使わなければならない機能や記述コードが沢山在る。それを広く勉強するのが先だ。 ーー シートタブで右クリックし、その「コードの表示」で出てくる画面に Private Sub Worksheet_Change(ByVal Target As Range) If Target.Row = 1 Then Exit Sub Application.EnableEvents = False If Target.Value = Target.Offset(-1, 0).Value Then Else r = Target.Row Rows(r).Insert Shift:=xlDown End If Application.EnableEvents = True End Sub テストも少数だし、まだ改良の余地あるが、とりあえず、感じだけ。

yuutomo0908
質問者

お礼

返事遅くなり申し訳有りません。 おっしゃるとおりと思います。 引き続き勉強していくつもりです。 ありがとうございました。

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.4

NO3です。 一例です。 Sub 行を挿入する() For i = Cells(Rows.Count, "A").End(xlUp).Row To 2 Step -1 If Cells(i, "A") <> Cells(i - 1, "A") Then Rows(i).Insert End If Next i End Sub

yuutomo0908
質問者

お礼

返事遅くなり申し訳有りません。 教えていただいた手順でやってみましたところ、 順調にできました。 記述の意味を理解しながらもっと勉強してみます。ありがとうございました。

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.3

NO1です。 セルの変化をデータ入力によるものと勘違いしましたので前回分は読み捨て下さい。

yuutomo0908
質問者

お礼

No,4の方で記入します。

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.1

>(4)この数字が変化したとき、例えば「1」と「2」の間、「2」と「3」の間などに、 > 自動的に行挿入して、空白行を作りたいと思っています。 ⇒ご例示の場合について、具体例を記述してほしい。  又、セルの変化としてセルの削除(行挿入・削除も含む)、セルの複数範囲の一括変更も考えられるのであるがどこまで実施するのか等々。

yuutomo0908
質問者

お礼

No,4に記入します。

関連するQ&A