プロが教えるわが家の防犯対策術!

エクセル100行に、それぞれ100行ずつの行間を
簡単に入れるにはどうしたら良いでしょうか・・・?

A 回答 (6件)

No.2です。



前回は勘違いをしていました。
前回のコードだと1行ずつしか挿入されません。

>それぞれ100行ずつの行間を・・・

すなわち仮にA1セルからデータがあった場合、1行目と2行目の間に100行分の空白行が入る!
2行目は102行目に、元の3行目は203行目に・・・
という解釈です。

前回のコードは消去し、↓のコードに変更してみてください。

Sub Sample2()
 Dim cnt As Long, lastRow As Long
 Dim myRng As Range
  lastRow = Cells(Rows.Count, "A").End(xlUp).Row
   Range("A:A").Insert
    With Range(Cells(1, "A"), Cells(lastRow, "A"))
     .Formula = "=row()"
     .Value = .Value
    End With
    Set myRng = Range(Cells(1, "A"), Cells(lastRow, "A"))
     For cnt = 1 To 100
      Cells(Rows.Count, "A").End(xlUp).Offset(1).Resize(lastRow).Value = myRng.Value
     Next cnt
    Range("A1").CurrentRegion.Sort key1:=Range("A1"), order1:=xlAscending, Header:=xlNo
    Range("A:A").Delete
     MsgBox "完了"
End Sub

※ 今回もA列の最終行までの操作としています。m(_ _)m
    • good
    • 0

》 …簡単に入れるにはどうしたら…


簡單かどうかは貴方が判斷なさってェ~(*^_^*)

A列が空白行で無ければ、A列に1行挿入・
1.式 =ROW()*1000 を入力したセル A1 を選擇⇒Ctrl+Cをパシーッ
2.[名前ボックス]にマウスポインタを放り込み、元々在った A1 を
 ̄ ̄A1:A100 に上書きしてEnterをパシーッ⇒Ctrl+Vをパシーッ
3.式 =OFFSET(A$1,(ROW(A1)-1)/100,)+MOD(ROW(A1)-1,100)+1
 ̄ ̄をセルA101に入力⇒Ctrl+Cをパシーッ
4.[名前ボックス]にマウスポインタを放り込み、元々在った A101
 ̄ ̄をA101:A1000 に上書きしてEnterをパシーッ⇒Ctrl+Vをパシーッ
5.A列全体を選擇⇒Ctrl+V⇒Ctrl+Alt+V⇒“値”に目玉入れ⇒[OK]
6.A列を含む必要最小限の列幅(例:A:M)を選擇⇒アクティブセルが
 ̄ ̄A1 であることを確認⇒昇順に[並べ替え]
7.邪魔なら、A列削除
    • good
    • 0

当方なら並べ替えでやります。



◆前提
 1~100行目までデータがあり、101行目以降は空白とします。

◆手順
1 挿入する行数は100行×100か所=10000行です。
2 作業列(例えばA列)の1行目~100行目に1~100の連番をいれます。(連続データの作成でできます)
3 1行目~100行目の1~100をコピーして、101行目~10000行目に貼り付けます。(1~100が延々並ぶデータ)
4 作業列に記入した範囲(1行目~10000行目)を選択して、メニュー → データ → 並べ替え で最優先されるキーに作業列を選び昇順で実行します。
5 不要なら作業列を削除します。
    • good
    • 1

自分なら・・・



Excel の「クリップボード」を表示させて、
未入力の100行をコピーして「クリップボード」に取り込む。
それを100行目から1行目に移動しながら貼り付ける。
 100行目のセルを選択して、クリップボードから100行コピーした物を選んで貼り付け。
 99行目のセルを選択して、クリップボードから100行コピーした物を選んで貼り付け。
 98行目のセルを選択して、クリップボードから100行コピーした物を選んで貼り付け。
 …
 2行目のセルを選択して、クリップボードから100行コピーした物を選んで貼り付け。
 1行目のセルを選択して、クリップボードから100行コピーした物を選んで貼り付け。

・・・こんな手順で行う。
わざわざマクロ組むまでもない。
(一回しか使わないのにマクロを組む必要性を感じないんです)
    • good
    • 1

こんにちは!



VBAになりますが、一例です。
100行限定ではなく、A列最終行までとしてみました。

Sub Sample1()
 Dim lastRow As Long
  lastRow = Cells(Rows.Count, "A").End(xlUp).Row
   Range("A:A").Insert
    With Range(Cells(1, "A"), Cells(lastRow, "A"))
     .Formula = "=row()"
     .Value = .Value
     .Copy Cells(lastRow + 1, "A")
    End With
     Range("A1").CurrentRegion.Sort key1:=Range("A1"), order1:=xlAscending, Header:=xlNo
     Range("A:A").Delete
End Sub

こんな感じではどうでしょうか?m(_ _)m
    • good
    • 0

VBAなら

    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング