ここから本文です

エクセル、挿入の自動化

ysa********さん

2011/3/2520:34:06

エクセル、挿入の自動化

データA列に4桁の数字が1000行ほど並んでいて、数値が変わった時点で空白セルを入れたいのですが
かんたんにできる方法はありますか?

基データ
0001
0001
0001
0002
0002
0003

空白セルを挿入し以下の感じにしたい。
0001
0001
0001

0002
0002

0003

毎日のデータ整理で非常に無駄な作業で困っています・・・アドバイスが
あればよろしくお願いします。

補足早速の回答有難うございます。

>次のコードで空白挿入行を指定どおり空けます。

空白をあける基準は、行の数値が変わった時点であけたいのです。
行の同一数値の重複数に規則性はありません。(1行の場合も有りますが、多い場合は10行同一数字が並ぶ場合もあります。)
説明不足で申し訳ありません。

閲覧数:
825
回答数:
2

違反報告

ベストアンサーに選ばれた回答

ja7********さん

編集あり2011/3/2523:32:33

こんな感じで如何でしょうか。
変り目に行挿入します。
すでに境目に空白行が有る場合、更に挿入するのかの仕様が
必要かと思いますが、ここでは、実行するごとに、空白行は増えます。
考え方が、ちょっと ややこしいですよ。

Sub データ変り目行挿入()
Dim Rw As Long
Rw = 3 ' <----- 空白行挿入最少行(2以上)
Do
With Cells(Rw, 1)
If Not IsEmpty(.Value) And .Value <> .Offset(-1).Value Then
.EntireRow.Insert
Rw = Rw + 2
Else
Rw = Rw + 1
End If
End With
Loop Until Cells(Rw - 1, 1).End(xlDown).Row = Rows.Count
End Sub

質問した人からのコメント

2011/3/26 19:35:28

驚く 凄い!空白を追加できました。感謝・感激です。早速来週から活用させていただきます。有難うございました。

ベストアンサー以外の回答

1〜1件/1件中

har********さん

2011/3/2521:28:18

A列にデータが並んでいるとして
項目行に「基データ」と書かれていて2行目からデータがあるとして
次のコードで空白挿入行を指定どおり空けます。

Sub test()
Dim i As Long, LastRow As Long
LastRow = Cells(Rows.Count, 1).End(xlUp).Row
For i = LastRow To 3 Step -1
If Cells(i, 1).Value <> Cells(i - 1, 1).Value Then
Rows(Cells(i, 1).Row & ":" & _
Cells(i + Cells(i - 1, 1).Value, 1).Row).Select
Selection.Insert shift:=xlDown
End If
Next i
End Sub

A列にデータが並んでいるとして
項目行に「基データ」と書かれていて2行目からデータがあるとして...

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる