A列のデータが違うところで、空白を開けたいのですが、どうすればいいのでしょうか。よろしくお願いします。
データの行数は不定です。

1 t1  **  **
2 t2  **  **
3 t2   **  **
4 t3   **  **

 を
1 t1  **  **

3 t2  **  **
4 t2  **  **

6 t3  **  **

8 t4

 にしたい。

このQ&Aに関連する最新のQ&A

A 回答 (4件)

>データの行数は不定です



ということなので補足しておきます。下記マクロで不定行数でも大丈夫です。
また、元のA列の並びの中に未入力行があるとうまくいきません。下記では最初に未入力行を削除し、その後で行挿入を行っています。参考までに。

Sub GyoSonyu2()
  Dim rw As Long 'A列のセル
  Dim rwCount As Long 'A列の値が登録された最後の行番号

  Application.ScreenUpdating = False
  'A列のセルが未入力ならその行を削除
  rwCount = Range("A:A").SpecialCells(xlCellTypeLastCell).Row
  For rw = rwCount To 2 Step -1
    If Cells(rw, 1) = "" Then
      Rows(rw).Delete
    End If
  Next

  'A列でセルの値とその前のセルの値が違えばば行挿入
  rwCount = Range("A:A").SpecialCells(xlCellTypeLastCell).Row
  For rw = rwCount To 2 Step -1
    If Cells(rw, 1) <> Cells(rw - 1, 1) Then
      Rows(rw).Insert
    End If
  Next
  Application.ScreenUpdating = True
End Sub
    • good
    • 0
この回答へのお礼

ありがとうございます。
返事、遅れてすいません。
みごとですね。
そのまま、使わせていただきます。
勉強になりました。

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

お礼日時:2001/07/30 10:54

VBAで解らない時は、マクロを新規に作成して、そのプログラムを編集で見ると解ります。


やり方はお分かりと思いますが、念のため書いておきます。
「1行を挿入するマクロ」です。

1.「ツール」「マクロ」「新しいマクロの記録」を順にクリックしていきます。
2.「ショートカットキー」を入力して、「OK」
3.「行番号」をクリックして、
4.「挿入」「行」をクリック
5.「マクロ終了ボタン」をクリックして終了です。

「マクロ記録終了」ボタンが表示されていないときは、「表示」「ツール」「記録終了」をクリックすると、表示されます。

つぎに、「ツール」「マクロ」「マクロ」「編集」で
プログラムが表示されます。

これを読むとどのようにプログラムすればよいかわかります。

老婆心ながら・・・・

参考URL:http://www2.odn.ne.jp/excel/index.html
    • good
    • 0
この回答へのお礼

ありがとうございます。
そうやれば、簡単にできるんですね。
なにしろ、初心者なもので、
知りませんでした。
参考になりました。
 ありがとうございました。

お礼日時:2001/07/30 11:07

telmiさん、おはようございます。


前回のご質問の反対ですね。

行番号を削除しなければ、簡単なのに・・・。
(行番号ソートでもとに戻ったはずですよ)

行番号を付与しない方法です。
[データ]-[集計]を利用します。

1.見出し行を追加します。
2.[データ]-[集計]をクリックします。
3.[グループの基準]にtの値の列を指定します。
4.[集計の方法]は合計でもデータの個数でもOK。
5.[集計するフィールド]の適当でOK。
6.ダイアログの[OKボタン]を押下。
7.集計表が表示されますから、左側に追加表示された集計レベル(正式名?)の
  「2」をクリックします。
8.グループの計の行だけが表示されますから、1行ごとに内容を消去してください。
  ここで一度にすべて消去すると肝心のデータも消えます。
  必ず1行ごとに消去してください。
9.集計レベル(正式名?)の「3」をクリックします。
  各グループの計の行が「空白行」となりました。
10.シート全体をコピーし、別シートに[形式を選択して貼り付け]-[値]でOK。

えいやっ!で実現する、姑息な手段です。
    • good
    • 0
この回答へのお礼

返事、遅れてすいません。
なるほど。
そんなやりかたが、あるんですね。
面倒ですがそれで、できますね。
参考になりました。
 ありがとうございました。

お礼日時:2001/07/30 11:01

こんな感じですか。



Sub GyoSonyu()
  Dim rw As Long

  For rw = 4 To 2 Step -1
    If Cells(rw, 1) <> Cells(rw - 1, 1) Then
      Rows(rw).Insert
    End If
  Next
End Sub
    • good
    • 0
この回答へのお礼

毎度ありがとうございます。

お礼日時:2001/07/30 11:09

このQ&Aに関連する人気のQ&A

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

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

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qエクセルで同じA列の中に、1,2,3,4,5,6,2,3,4,2,1,3,2,2,2,3,1という

エクセルで同じA列の中に、1,2,3,4,5,6,2,3,4,2,1,3,2,2,2,3,1,3,1というような順番で数字が並んでいます。

その数字の中で、1→3と3→1になるものがいくつあるか求めたいのですが、出す関数・マクロがわかりません。
教えていただけないでしょうか?

よろしくお願いします。

Aベストアンサー

こんばんは!

>A列の中に
とは行方向に数値が入っている!というコトでしょうか?

そうであれば
表示したいセルに
=COUNTIFS(A1:A1000,1,A2:A1001,3)+COUNTIFS(A1:A1000,3,A2:A1001,1)
としてみてください。

「1」の次の行が「3」の場合と
「3」の次の行が「1」の場合をプラスしています。m(_ _)m

QExcelで1を入力し、セルの右下を+でドラッグした時、1,2,3,4となるようにしたい

Excelで1を入力し、セルの右下を+でドラッグした時、1,2,3,4となるようにしたいのですが、どのようにしたら良いでしょうか?文字列にしても数値にしても1,2,3,4となってしまうのですが。

Aベストアンサー

Ctrlキーを押しながらドラッグしてください。

Qexcel2003 2列のデータを1列に 改良

excel2003 にて2グループのリストを全グループリストに表示したい。

前回もこちらでお世話になっております。
前回の改良版として作成しています。

画像を添付しましたので参照していただきご回答をお願いいたします。

行いたいことは
Aグループのサブ番号と氏名 Bグループのサブ番号と氏名を
全グループリストに順番に表示させたい。
セル番号 J6 K6 に入れる数式を教えてください。

よろしくお願いいたします。 

Aベストアンサー

たとえば、以下のような数式をJ6セルに入力し、右方向に1つ下方向に10個オートフィルしてください。

=OFFSET($B$5,ROW(A1)-(COUNTA($B$6:$B$15)<ROW(A1))*COUNTA(B$6:B$15),COLUMN(A1)-1+4*(COUNTA($B$6:$B$15)<ROW(A1)))&""

QExcel 2列のデータを合計して1列にするには

以下のような表1があります。
コード 摘要    収入

    A    B    C    D    E    F
1  1月  1日   1月   2日   1月   3日
2    1    1    2    2    3    3

例えばAとBは1月1日のデータで、2列目には数値データが入っています。この場合1月1日の合計値は2です。
このシートを元にして

    A     B     C
1 1月1日 1月2日 1月3日
2   2     4     6

上記のような表2を作成したいと思いますが、オートフィルのコピーでは1列ずつ合計されていくのでうまくいきませんでした。
表1の日付の表記は、1セルに「n月n日」となるよう変更することは都合上できません。
簡単に表が作れる方法があれば教えて下さい。よろしくお願いします。

Aベストアンサー

「表1」が Sheet1 にあると仮定すれば、他のシートのセル A1、A2 にそれぞれ次式を入力して、範囲 A1:A2 を右方にズズーッとドラッグ&ペースト
A1: =OFFSET(Sheet1!$A1,,(COLUMN(A1)-1)*2)&OFFSET(Sheet1!$B1,,(COLUMN(A1)-1)*2)
A2: =SUM(OFFSET(Sheet1!$A2,,(COLUMN(A2)-1)*2,1,2))

Qシート1の列からシート2の列と重複するデータを抜き出したい。

初歩的な質問ですみません。
シート1の列Aに、
1、3、5、8、12、13、16、18、20、23、25というようなデータがあり、シート2の列Aに1、5、13、18、25とある場合、フィルタなどを使って、シート2にある1、5、13、18、25だけを一気にシートAから抜き出すということは可能でしょうか?シート1のデータを、シートのデータに該当するものとそうでないものに分けたいのですが。どなたかご教授ください!

Aベストアンサー

こんにちは~

Sheet1の 2行目からデータがあるとして、
Sheet1の B2に

=IF(COUNTIF(Sheet2!A:A,A2),"○","×")

と入力して(上の数式をそのままコピーして貼り付け)、A列のデータ最終行までフィルコピーしてください。

Sheet2 と重複するものは B列に ○、重複しないものは × が入ります。
あとは、オートフィルタで B列が ○ または × のものだけを抽出してください。

もしうまくいかないようなら、入力した数式をそのままコピーして提示した上で、どううまくいかなかったのかを具体的に補足してください。


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

人気Q&Aランキング

おすすめ情報