No.4ベストアンサー
- 回答日時:
対象範囲を選択した状態で下のプロシージャーを実行してみて下さい。
何行でも同じように動作します。
'積み木マクロ
Sub ggrks()
Dim v: v = Selection
Dim c As Long, r As Long, i As Long
For c = LBound(v, 2) To UBound(v, 2)
For i = 0 To UBound(v, 1)
For r = UBound(v, 1) To LBound(v, 1) Step -1
If r - 1 >= LBound(v, 1) Then
If v(r, c) = "" Then
v(r, c) = v(r - 1, c)
v(r - 1, c) = ""
End If
End If
Next
Next
Next
Selection = v
End Sub
No.3
- 回答日時:
No2氏の回答にもあるように
配列に一度格納して吐き出す事で解消できますが
一点注意があります
「空白セル」とは人間が目で見て空白であっても
コンピューターは空白ではないと判断する事があります
? と思うかもしれませんが 私はこれで悩んだ事があります
それは何かというと 「スペース」です
選択したセルでスペースキーを叩くと、
空白というデータが入ります 見た目は空白ですが
データとしては空白ではありません
これは 入力者が無意識にやってしまう事によるもので、
それ自体を回避する方法はありません
プログラム的に回避するには、置換を使って空白データを
削除する方法があります ループで回し、空白セルを判定する前に、
セルデータを空白置換させてから判定させます
ただ、この方法の場合、入力されているセルに 意図したスペースがある場合それも削除されます
No.2
- 回答日時:
ExcelVBAの初心者です。
私なら次のようにします。おそらくもっとスマートな方法があるだろうとは思うのですが。
① 最初に全データを二次元配列で表のイメージで変数に読み込む。
② 変数の最終行からチェックを開始して、もし空欄があれば一行上の欄のデータをその欄にいれ、一つ上のデータを空欄にする。一つ上の欄が空白ならば、更にもう一つ上のデータを調べる。
③ 一行の処理が終われば、次はもう一行上ののデータを読み込み、②の作業をくりかえす。これを一番上の行までよみこむ。
④ 最後に二次元配列に読み込んだ変数を別の表に書き出す。
もしコードをご希望でしたら、一度ご自身でコードを組むことをおすすめします。ここはVBAの無料の作成場所ではありませんので、コードを組んだ上でご相談されることをおすすめします。
なお、VBAは保守が大変ですよ。おすすめしません。
No.1
- 回答日時:
こんにちは
>削除ではない方法で詰める
ってのが、どういう意味だかわかりませんでしたので、単に「詰める」ものと解釈しました。
対象がたかだか3行分なので何とでもなると思いますが、一般化した考え方の一つとして…
最初に1列分の値をまとめて読み込んで、行の下から見て行って空白でないものを出力するようにすれば宜しいかと。
一列分ができれば、あとは各列をループすれば良いです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
天使と悪魔選手権
悪魔がこんなささやきをしていたら、天使のあなたはなんと言って止めますか?
-
フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
あなたが普段思っている「これまだ誰も言ってなかったけど共感されるだろうな」というあるあるを教えてください
-
映画のエンドロール観る派?観ない派?
映画が終わった後、すぐに席を立って帰る方もちらほら見かけます。皆さんはエンドロールの最後まで観ていきますか?
-
海外旅行から帰ってきたら、まず何を食べる?
帰国して1番食べたくなるもの、食べたくなるだろうなと思うもの、皆さんはありますか?
-
天使と悪魔選手権
悪魔がこんなささやきをしていたら、天使のあなたはなんと言って止めますか?
-
マクロで空白セルを詰めて別シートに転記
Visual Basic(VBA)
-
Excelの空白行を上に詰めるVBAについて
財務・会計・経理
-
Excel VBA 空白行をつめる
Excel(エクセル)
-
-
4
空白セルをつめる。
Excel(エクセル)
-
5
VBAで指定範囲内の空白セルを左詰めで一括削除したいのですが
Visual Basic(VBA)
-
6
エクセルVBAでセルに入力したパスでブックを開く
Excel(エクセル)
-
7
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
8
エクセルで空白行を削除する 2列とも空白の場合のみ
その他(Microsoft Office)
-
9
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
10
特定の文字を含むシートだけマクロ処理をしたい
Visual Basic(VBA)
-
11
VBAのコマンドボタンの文字列の改行方法は?
Visual Basic(VBA)
-
12
EXCEL VBAで、セルの文字列の前後に文字を入力する方法は?
その他(Microsoft Office)
-
13
セルの値が0はクリアするマクロ
Excel(エクセル)
-
14
空白セルをとばして転記
Visual Basic(VBA)
-
15
全ての変数を一気にリセットする方法はありますか?
PowerPoint(パワーポイント)
-
16
【EXCEL】【VBA】空欄は飛ばして処理する方法を教えて下さい。
Excel(エクセル)
-
17
VBA 空白行に転記する
Visual Basic(VBA)
-
18
B列の最終行までA列をオートフィル
Visual Basic(VBA)
-
19
cellsで特定の離れた範囲を選択する方法は?
Visual Basic(VBA)
-
20
特定のセルが空白だったら、その行を非表示にしたい。。。
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
教えて下さい
-
【エクセル】測定時間がバラバ...
-
メモ帳(テキストデータ)をExc...
-
EXCELVBAでSQLserverからデータ...
-
カンマからスラッシュに
-
多量のSUMIF式を軽くしたい
-
ページ数を求めたい
-
[C言語] コメント文字列を無視...
-
不規則なデータのfft処理
-
Accessで該当データにフラグを...
-
配列でデータが入っている要素...
-
エクセルで2つの時系列のデー...
-
Matlab:plotで特定の値だけをプ...
-
プログラミング python pandas ...
-
特定のデータの抽出方法を教え...
-
CString型の文字列連結について
-
ブレーカー落ちで壊れたりしな...
-
バーコードリーダーの読込デー...
-
COBOL数値転記をCOPY句内での仕様
-
外部データの更新がうまくでき...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
教えて下さい
-
配列でデータが入っている要素...
-
【エクセル】測定時間がバラバ...
-
【プログラム】プログラミング...
-
メモ帳(テキストデータ)をExc...
-
VBA 空白セルを削除ではない方...
-
特定のデータの抽出方法を教え...
-
EXCELVBAでSQLserverからデータ...
-
エクセルで2つの時系列のデー...
-
多量のSUMIF式を軽くしたい
-
この行は既に別のテーブルに属...
-
C# ソケット通信でデータ受信時...
-
カンマからスラッシュに
-
[C言語] コメント文字列を無視...
-
S9タイプからXタイプにデータ...
-
ブレーカー落ちで壊れたりしな...
-
ページ数を求めたい
-
シーケンサにパソコンからアク...
-
Accessで該当データにフラグを...
-
CString型の文字列連結について
おすすめ情報