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も見ています
-
つい集めてしまうものはなんですか?
人間誰もは1つ「やたらこればかり集めてしまう」というものがあるもの。 あなたにとって、つい集めてしまうものはなんですか?
-
「平成」を感じるもの
「昭和レトロ」に続いて「平成レトロ」なる言葉が流行しています。 皆さんはどのようなモノ・コトに「平成」を感じますか?
-
とっておきの手土産を教えて
お呼ばれの時や、ちょっとした頂き物のお礼にと何かと必要なのに 自分のセレクトだとついマンネリ化してしまう手土産。 ¥5,000以内で手土産を用意するとしたらあなたは何を用意しますか??
-
おすすめのモーニング・朝食メニューを教えて!
コメダ珈琲店のモーニング ロイヤルホストのモーニング 牛丼チェーン店の朝食などなど、おいしいモーニング・朝食メニューがたくさんありますよね。
-
【大喜利】【投稿~11/12】 急に朝起こしてきた母親に言われた一言とは?
【お題】 ・急に朝起こしてきた母親に言われた一言とは?
-
マクロで空白セルを詰めて別シートに転記
Visual Basic(VBA)
-
Excel VBA 空白行をつめる
Excel(エクセル)
-
Excelの空白行を上に詰めるVBAについて
財務・会計・経理
-
-
4
VBAで指定範囲内の空白セルを左詰めで一括削除したいのですが
Visual Basic(VBA)
-
5
空白セルをつめる。
Excel(エクセル)
-
6
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
7
エクセルで空白行を削除する 2列とも空白の場合のみ
その他(Microsoft Office)
-
8
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
9
cellsで特定の離れた範囲を選択する方法は?
Visual Basic(VBA)
-
10
VBAで文字列を数値に変換したい
Excel(エクセル)
-
11
Excel 空白行を上に詰めるマクロ
Excel(エクセル)
-
12
空白セルをとばして転記
Visual Basic(VBA)
-
13
エクセルVBAでセルに入力したパスでブックを開く
Excel(エクセル)
-
14
全ての変数を一気にリセットする方法はありますか?
PowerPoint(パワーポイント)
-
15
エクセル 空白を除き左に詰めたいのですが・・・
Windows 8
-
16
【Excel VBA】複数ある特定の文字列を含む行を削除
Excel(エクセル)
-
17
【EXCEL】【VBA】空欄は飛ばして処理する方法を教えて下さい。
Excel(エクセル)
-
18
excel VBA 2つのシートの特定の列を比較して同じ値のセルがあったらその行を上書きしたい
Excel(エクセル)
-
19
ユーザーフォームを表示中にシートの操作をさせるには
Excel(エクセル)
-
20
特定のセルが空白だったら、その行を非表示にしたい。。。
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/12】 急に朝起こしてきた母親に言われた一言とは?
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・好きな「お肉」は?
- ・あなたは何にトキメキますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・チョコミントアイス
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・あなたの習慣について教えてください!!
- ・ハマっている「お菓子」を教えて!
- ・高校三年生の合唱祭で何を歌いましたか?
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・家の中でのこだわりスペースはどこですか?
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
教えて下さい
-
配列でデータが入っている要素...
-
【エクセル】測定時間がバラバ...
-
メモ帳(テキストデータ)をExc...
-
EXCELVBAでSQLserverからデータ...
-
VBA 空白セルを削除ではない方...
-
ACCESS VBA インデックスが有効...
-
GridViewの行の一部を複数行にする
-
C# ソケット通信でデータ受信時...
-
ACCESSからEXCELに出力する際、...
-
S9タイプからXタイプにデータ...
-
<VB>String→Object
-
Setステートメントをまとめて記...
-
バーコードリーダーの読込デー...
-
csvファイルに複数行あるデ...
-
エクセルで2つの時系列のデー...
-
VBA 判定文で理解できない結果...
-
VBにおいてフォーム間の変数の...
-
不規則なデータのfft処理
-
Accessで該当データにフラグを...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
教えて下さい
-
【エクセル】測定時間がバラバ...
-
配列でデータが入っている要素...
-
メモ帳(テキストデータ)をExc...
-
VBA 空白セルを削除ではない方...
-
カンマからスラッシュに
-
VBA 円グラフ 特定条件に一致し...
-
特定のデータの抽出方法を教え...
-
EXCELVBAでSQLserverからデータ...
-
CString型の文字列連結について
-
[C言語] コメント文字列を無視...
-
エクセルで2つの時系列のデー...
-
多量のSUMIF式を軽くしたい
-
この行は既に別のテーブルに属...
-
ACCESSからEXCELに出力する際、...
-
Accessで該当データにフラグを...
-
ユーザーフォームのテキストボ...
-
モジュラス103の算出方法について
-
S9タイプからXタイプにデータ...
-
ブレーカー落ちで壊れたりしな...
おすすめ情報