A B C D E
1 リンゴ リンゴ
2 ミカン
3 ミカン バナナ
4
5
6 バナナ
7
上記のように、空白のセルをとばして(詰めて)転記するにはどうすれば良いでしょうか?
Dim n as long
Dim k as long
k = Range("A" & Rows.Count).End(xlUp).Row
For n = 1 To k
If Cells(n, 1) <> "" Then
Cells(n, 4) = Cells(n, 1)
n = n + 1
End If
Next n
とやると当然ながらD1のセルのみにしか転記できません
A列の範囲を取得し、PasteSpecialのSkipBlanksで貼り付けてもうまくいきませんでした
どうぞよろしくお願いします
No.1ベストアンサー
- 回答日時:
nはA列用のカウンタですよね?
D列用のカウンタを準備すればOKです。
具体的には
Sub test()
Dim n As Long
Dim k As Long
Dim l As Long
k = Range("A" & Rows.Count).End(xlUp).Row
l = 1
For n = 1 To k
If Cells(n, 1) <> "" Then
Cells(l, 4) = Cells(n, 1)
l = l + 1
End If
Next n
End Sub
となります。
(n=n+1はfor文の中なので不要ですね)
おお!ありがとうございます!
思うとおりに動きました!
変数をもう一つ置くという事は思いついてはいたのですが、
For NextとIfの文脈でどう処理していくかが分からなかったので、
目からうろこです。
早速のご回答大変助かりました。ありがとうございました。
No.2
- 回答日時:
一例です。
Sub sample()
Dim i As Long, n As Long
For i = 1 To Cells(Rows.Count, "A").End(xlUp).Row
If Cells(i, "A") <> "" Then
n = n + 1
Cells(n, "D") = Cells(i, "A")
End If
Next
End Sub
ご回答ありがとうございます!
思い通りになりました
やはりD列用の変数を用意するのですね
Forの宣言部分で範囲を指定出来るというのは新発見です
いくら頭をひねっても出てこなかった答えが何通りもあるという
事で自分の未熟さが恥ずかしい限りです
とても勉強になりました。ありがとうございました
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) ExcelVBAのマクロについて。 9 2022/05/04 14:50
- Visual Basic(VBA) 稀に1円合いません? Sheet1から金額と個数を貼り付ける下記コードで、金額を切り上げるコードを何 3 2022/09/05 15:11
- Visual Basic(VBA) 前回ご教授いただいたコードに覚えたてのループ処理で品名りんごAから順に20回for nextでループ 7 2023/01/13 22:01
- Excel(エクセル) B列に文字がはいったらA列に数字が入るマクロードを完成させたい 4 2023/04/21 01:58
- Visual Basic(VBA) VBA処理追加 こちらでご教示頂いたのですが回答完了させてしまいましたのでこちらからまた質問させてく 2 2022/10/27 09:57
- Excel(エクセル) VBAの指示の内容 昨日こちらでご教示頂いたのですが初心者な為、一つ一つの指示が何をやっているのかわ 2 2022/10/25 18:08
- Visual Basic(VBA) コード名シートA列と集計シートA列のコードが一致したら、コード名シートA5からk12の範囲をコピーし 1 2022/08/29 23:46
- Visual Basic(VBA) 数字が「0」の列を削除するため、下記のコードを実行しましたが、コンパイルエラーSubまたはFunct 3 2022/12/04 00:00
- Visual Basic(VBA) まとめシートから集計シートへA列のコードが一致したら1行コピーするマクロをネット上で見つけました。こ 1 2022/08/30 14:11
- Visual Basic(VBA) いつもお世話になっております、VBAで教えて頂きたいのですが 2 2022/05/05 22:20
このQ&Aを見た人はこんなQ&Aも見ています
-
外出時に「待たせる妻」vs イライラする「待つ夫」は日本だけ?見習いたい海外事情
夫の家事参加に積極的なイメージのある海外でも、同様の事例はあるのか。結婚カウンセラーの佐竹悦子さんに伺ってみた。
-
【EXCEL】【VBA】空欄は飛ばして処理する方法を教えて下さい。
Excel(エクセル)
-
マクロで空白セルを詰めて別シートに転記
Visual Basic(VBA)
-
空白行を無視してコピーするマクロについて
Excel(エクセル)
-
-
4
VBA 空白行に転記する
Visual Basic(VBA)
-
5
エクセルマクロ 【空白セルを無視する方法を教えてください】
Excel(エクセル)
-
6
ExcelVBAを使って、値がある場合は作業を繰り返し実行するプログラムを作成したい。
Visual Basic(VBA)
-
7
VBA Cのセルが空白でなかったら、Aのセルに順番に数値を入力
Visual Basic(VBA)
-
8
数式による空白を無視して最終行までコピーするマクロ
Excel(エクセル)
-
9
vba 2つの条件が一致したらコピーして別シートに値のみ貼り付け
Visual Basic(VBA)
-
10
エクセルVBAで、条件に一致するセルへ移動
Excel(エクセル)
-
11
EXCEL VBA セルに既に入力されている文字に文字を追加する
Excel(エクセル)
-
12
数式による空白を無視して最終行を取得するマクロ
Excel(エクセル)
-
13
別のシートから値を取得するとき
Visual Basic(VBA)
-
14
空白セルを飛ばして転記したい
Access(アクセス)
-
15
エクセルのVBAで日付を検索し転機したい
Visual Basic(VBA)
-
16
【VBA】2つのシートの値を比較して条件一致したら、同じ行の隣の値を別ブックへ転記したいです。 VB
Visual Basic(VBA)
-
17
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
18
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
19
メッセージボックスのOKボタンをVBAでクリックさせたい
Visual Basic(VBA)
-
20
VBAでファイルを開くときにファイル名でワイルドカードを使用したいです
その他(プログラミング・Web制作)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
vba 2つの条件が一致したら...
-
B列の最終行までA列をオート...
-
Worksheets メソッドは失敗しま...
-
【VBA】2つのシートの値を比較...
-
VBAでのリスト不一致抽出について
-
エクセル 2つの表の並べ替え
-
VBAを使って検索したセルをコピ...
-
VBAのFind関数で結合セルを検索...
-
エクセルVBA intersect colu...
-
マクロ 最終列をコピーして最終...
-
マクロについて。S列の途中から...
-
EXCEL VBA 条件に合致しない行...
-
エクセルVBAにて =A1=B1とすれ...
-
エラーコード1004
-
VBマクロ 色の付いたセルを...
-
【Excel VBA】カンマと改行コー...
-
URLのリンク切れをマクロを使っ...
-
VBAで指定範囲内の空白セルを左...
-
エクセルで最大列を増やす
-
vba 重複データ合算
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Worksheets メソッドは失敗しま...
-
Cellsのかっこの中はどっちが行...
-
VBAのコードを教えてください
-
VBAを使って検索したセルをコピ...
-
B列の最終行までA列をオート...
-
エクセルvbaについて
-
vba 2つの条件が一致したら...
-
Excelで、あるセルの値に応じて...
-
VBA UserFormからの転記で
-
VBAのFind関数で結合セルを検索...
-
文字列の結合を空白行まで実行
-
IIF関数の使い方
-
VBA 何かしら文字が入っていたら
-
マクロ 最終列をコピーして最終...
-
Changeイベントでの複数セルの...
-
エクセルVBAにて =A1=B1とすれ...
-
【VBA】2つのシートの値を比較...
-
データグリッドビューの一番最...
-
VBマクロ 色の付いたセルを...
-
VBAで指定範囲内の空白セルを左...
おすすめ情報