アプリ版:「スタンプのみでお礼する」機能のリリースについて

エクセルです。 空白のセルがあるので上方向に詰めたいのですが、よい操作方法ありますか? この場合はVBAを使用したほうが良いですか?

ctrl+Gで空白行を削除できるのは知っているのですが、
行を削除すると困るのでそれ以外の方法を探してます。


A1   A1
×   ×   
    × 
×   × 

× 

上のように、上方向へ詰めたいのです。

A 回答 (6件)

A1列をキーにして、データ並べ替えをすると、A1が空白の行が、先頭か最後に集まります。



もし現状の行の順番を変えたくなければ、列を挿入し、そこに1~の連番を入れた後、A1列をキーにして、データ並べ替えをします。
次に、A1列が空白の行を削除し、残りを行番号で並べ替えをします。
最後に、行番号の列を削除する、ということでできます。
    • good
    • 0
この回答へのお礼

こちらにまとめてお礼を記入させていただきます。
おかげさまで、うまくできました。またVBAは今後の参考にしたいと思います

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

お礼日時:2003/08/28 16:39

VBAならこんな感じでいかがでしょう?


Sheet1のA列にデータがあるとして、とりあえずB列に空白をつめた状態で表示します。
データ最終行を100としてますが適当に直してください。B列がまずければ Cells(n, "B") のBをXでもYでも好きな列に変えてください。


Sub test()
Dim i As Integer, n As Integer
n = 1

With Sheets("Sheet1")

For i = 1 To 100
If .Cells(i, "A") <> "" Then
.Cells(n, "B") = .Cells(i, "A")
n = n + 1
End If

Next
End With

End Sub
    • good
    • 1

>範囲指定して、右クリック、削除、上方向へシフト



>すると、範囲指定したところが削除されていまいました。
>○×も消えてしまいました。

消すところだけ、範囲指定をしないと全部消えてしまいます。
そういう機能なので…。

一度に全部というのでしたら複数範囲指定(Ctrlを使う)か、#2や#3の方の方法の方がいいと思います。
    • good
    • 0

> ctrl+Gで空白行を削除できるのは知っているのですが、


> 行を削除すると困るのでそれ以外の方法を探してます。

A列を選択して、ctrl + G で空白セルを選んで
削除すればよいかと。
    • good
    • 1

VBAを使用したほうがいいと思います。

この回答への補足

VBAの場合はどんな記述になるか、ご存知でしょうか?

補足日時:2003/08/28 15:37
    • good
    • 1

×印の下のセルで右クリック→削除→上方向へシフト



でできますよ。

この回答への補足

うまくいかないです。

範囲指定して、右クリック、削除、上方向へシフト

すると、範囲指定したところが削除されていまいました。
○×も消えてしまいました。

どうしてだろう。???

補足日時:2003/08/28 15:34
    • good
    • 0

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

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