• ベストアンサー

結合セルを含む空白行に下のデーターを上に詰める

先ほど、質問を出さしていただいたのですが、説明文が詰められているため醜くなってしまいましたので再度出さしていただきます。 よろしくお願いします。 結合セルを含む空白行に、下のデーターを詰める。 下記の場合の、【かわ、やま】は、1行目と2行目のセルを結合させています。また、【うみ、たに】は、3行目と4行目のセルを結合させています。     A    B    C    D    E 1            100   AAA         かわ            やま 2            200   BBB 3            空白   空白         空白            空白 4            空白   空白 5            111   CCC         うみ            たに 6            222   DDD これを、下のようにしたいのです。     A    B    C    D    E 1            100   AAA              かわ            やま 2            200   BBB 3            111   CCC         うみ            たに 4            222   DDD 結合されているため下の構文では詰めることができません Dim LastRow As Long With ActiveSheet LastRow = Range("A232").End(xlUp).Row Range("B1:E" & LastRow).Sort Key1:=Range("B1"), Order1:=xlAscending End With

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

  • ベストアンサー
  • hige_082
  • ベストアンサー率50% (379/747)
回答No.2

こんな感じで Sub Macro1() Dim i For i = Range("a65536").End(xlUp).Row To 1 Step -2 If Cells(i, 1).Value = "" Then Rows(i & ":" & i + 1).Delete Shift:=xlUp End If Next i End Sub 大きなお世話とは思いますが、質問中のコード「With」の意味がありません Dim LastRow As Long With ActiveSheet LastRow = .Range("A232").End(xlUp).Row .Range("B1:E" & LastRow).Sort Key1:=.Range("B1"), Order1:=xlAscending End With 使用するとすれば上のようになると思います

1211M
質問者

お礼

hige_082さん、ありがとうございます。 解決しました。

その他の回答 (1)

  • okdeath
  • ベストアンサー率28% (13/46)
回答No.1

こんにちわ 私の個人てきな考えですが、データを扱う上で、結合は非常にあつかいずらいです。 まずは結合をはずした状態ではだめでしょうか? 結合せずにデータはデータとして、一行づつもっていたほうが加工がしやすいです。 見にくい場合は、このデータを元に別ページに表示用を作ります(ピボットテープが便利です。) まずは、1行目にスペースをあけます。 次に各セルに必要な計算式を入れます。 F2 : =+F1+1 G2 : =IF(H2="",1,0) H2 : =IF(AND(B2<>"",$C2<>""),B2,IF(AND(B2="",$C2<>""),H1,"")) I2 : =C2 J2 : =D2 K2 : =IF(AND(E2<>"",$C2<>""),E2,IF(AND(E2="",$C2<>""),K1,"")) この2行目の式を3行目以降にコピペしてください。 ↓このようになります。  A B   C    D    E   F G H   I  J  H 1 2 かわ  100   AAA   やま  1 0 かわ 100 AAA やま 3     200   BBB   やま  2 0 かわ 200 BBB やま 4     空白   空白      3 1  0  0 5     空白   空白      4 1  0  0 6 うみ  111   CCC   たに  5 0 うみ 111 CCC たこ 7     222   DDD   たに  6 0 うみ 222 DDD たこ 次に全体をコピー、全体に値貼り付けし、式を消します。 並べ替えの前にセルの書式設定で結合をはずしてください。 優先第一G列昇順 第二F列昇順で並べれべ空白がうまります。 最後に不要な列は消してください。 表示がうまくいかず見づらいですがこんなんでどーでしょーか?

1211M
質問者

お礼

okdeathさん、早速の回答ありがとうございました。

1211M
質問者

補足

okdeathさん、早速の回答ありがとうございます。 結合をはずした状態には出来ませんのです。 一旦、結合を解いた後に再度結合する。 元の表示形態(結合された状態)に戻すことは出来ないでしょうか。