OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

Excell VBA:dataの空白行を削除したい。

  • 困ってます
  • 質問No.110177
  • 閲覧数2548
  • ありがとう数3
  • 気になる数0
  • 回答数3
  • コメント数0

お礼率 85% (41/48)

excellのマクロを使って、
次のようなデータで、データのない行を削除して詰めたいのですが。
どうすればよいのでしょうか。

  A   B   C
1 t1  **  **
2 t2  **  **

4 t3

6 t4

 を

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

 にしたい。
通報する
  • 回答数3
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

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

  • 回答No.2
レベル8

ベストアンサー率 58% (23/39)

終了(データ件数)条件が不明ですので、6固定のサンプルです。
ポイントは、データ(行)の最後からループすることです。
そうすると、削除したデータと検索する位置が重ならないためすっきりとしたプログラムとなります。

Dim i As Integer

For i = 6 To 1 Step -1 '6のところにデータ総件数(空行含む)
If Cells(i, 1) = "" Then
Rows(i).Delete
End If
Next i
お礼コメント
telmi

お礼率 85% (41/48)

簡単にできるんですね。
最後からループするのは、気づきませんでした。
使わせてもらいます。
ありがとうございました。
投稿日時 - 2001-07-28 09:59:50
-PR-
-PR-

その他の回答 (全2件)

  • 回答No.1
レベル10

ベストアンサー率 38% (54/141)

他力本願ですが…。下記サイトを紹介します。 ...続きを読む
他力本願ですが…。下記サイトを紹介します。
お礼コメント
telmi

お礼率 85% (41/48)

早速、見に行きました。
解説があって、いいですね。
参考になります。
ありがとうごさしました。
投稿日時 - 2001-07-28 10:01:54

  • 回答No.3
レベル14

ベストアンサー率 33% (1403/4213)

手っ取り早いのは、 1.「行番号」の列を追加し連番を付与する。 2.列A(tの値の列)をキーにソートする。 3.そうすると「空白行」だけ固まりますから「行番号のみの行を削除」。 4.「行番号」列をキーにソートし直す。 5.最後に「行番号」列を削除する。 上記の手作業を「マクロの記録」で行えばVBAになるし、 そこまでしなくても、と思えば手作業でもたいした手間ではないと思います。 カ ...続きを読む
手っ取り早いのは、
1.「行番号」の列を追加し連番を付与する。
2.列A(tの値の列)をキーにソートする。
3.そうすると「空白行」だけ固まりますから「行番号のみの行を削除」。
4.「行番号」列をキーにソートし直す。
5.最後に「行番号」列を削除する。

上記の手作業を「マクロの記録」で行えばVBAになるし、
そこまでしなくても、と思えば手作業でもたいした手間ではないと思います。

カーソルキーの操作でCtrl+矢印キーでその方向の端まで移動できるので
3.の処理はスクロールさせなくても可能です。
(範囲選択するならCtrl+Shift+矢印キーでok)
お礼コメント
telmi

お礼率 85% (41/48)

そういう方法があるんですね。
全然、思いつきませんでした。
参考になりました。

ありがとうございました。
投稿日時 - 2001-07-28 10:04:22
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
このやり方知ってる!同じこと困ったことある。経験を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ