
エクセルVBAの初心者です。例えば『A列』の1行目のセルに10、2行目のセルに20、3行目のセルに30という様に新規で数値を入力した後にマクロを実行するとその値をコピーしその行の右方向の列で最初の空白セルにその値を貼り付けたいのですが、どのようにプログラムを組めば良いのか分かりません。詳しい方、お手数をお掛けしますが教えて下さい。
A列 B列 C列 D列 E列 F列
10 15 30 ★
20 25 55 60 80 ★
30 30 40 20 ★
40 10 20 50 40 ★
50 20 30 ★
★印の空白セルにその行のA列の数値が貼り付けられる様にお願いします。
尚、行数は5000行程あります。
No.4ベストアンサー
- 回答日時:
No2です。
効率は悪いけれど、単純な記述でよければ・・
Sub Sample2()
Dim rw As Long, c As Range
For rw = 5 To 2000
For Each c In Cells(rw, 9).Resize(, 11)
If c.Value = "" Then c.Value = Cells(rw, 3).Value: Exit For
Next c
Next rw
End Sub
処理効率を上げる方法は、ご自身で考えてみてください。
fujillin様
この度は色々と親切に教えて頂き誠にありがとうございました。
教えて頂いた方法でやりたい事が出来ました。
助かりました。お手数をお掛けしました。
No.3
- 回答日時:
>行数は5000行程あります。
>①新規登録の数値は『A列』ではなく、『C5』~『C2000』に入力しています。
行数が5000行ほどあるなら、
『C5』~『C2000』ではなくm『C5』~『C5000』
になりませんか。
どちらが正しいのでしょうか。
No.2
- 回答日時:
No1です。
ご質問文の内容と補足の内容は全く異なるものです。
とは言え、大雑把な考え方はNo1に示したような方法でできると思いますので、補足にご提示の①~④の条件をそのまま記述すればできると思います。
論理的に考えることはできているようですので、後はそれをコード化するだけです。
「マクロの記録」やMSDNのドキュメントを利用して、頑張ってみてください。
https://learn.microsoft.com/ja-jp/office/vba/api …
No.1
- 回答日時:
こんにちは
一例です。
Sub Sample()
Dim c As Range
For Each c In Range(Cells(1, 1), Cells(Rows.Count, 1).End(xlUp))
If c.Value <> "" Then
If c.Offset(, 1).Value = "" Then
c.Offset(, 1).Value = c.Value
Else
c.End(xlToRight).Offset(, 1).Value = c.Value
End If
End If
Next c
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 複数csvを横に追加していくマクロについて 2 2023/04/25 09:19
- Visual Basic(VBA) 範囲を指定して別シートにコピペ 2 2022/09/15 07:32
- Excel(エクセル) エクセル 自動計算 1 2023/01/30 13:28
- Visual Basic(VBA) vbaエクセルマクロ RemoveDuplicatesについて RemoveDuplicatesを使 3 2023/02/28 01:13
- Excel(エクセル) VBA セルの値と同じ名前のシートにデータを貼り付けするやり方を教えてください 2 2022/05/17 16:26
- Visual Basic(VBA) Excel(VBA) 特定の条件に該当する行の値、書式を同じセルにコピ&ペーストしたいです 1 2022/05/21 18:18
- Visual Basic(VBA) Excel vbaについて知恵もしくは、コード教えて下さいm(__)m ① 表にあるデータをコピー、 2 2022/09/01 23:57
- Excel(エクセル) 列の複数ある空白セルを飛ばして、セルに並べて表示したい 3 2023/02/12 16:49
- Excel(エクセル) エクセルのマクロでコピー後の貼り付け先を毎回指定したところにしたい 5 2022/08/12 10:47
- Visual Basic(VBA) Excel VBA マクロ ある列の最終行迄を参照し、別の列の空白セルに値を入力したいです 2 2023/03/05 02:44
このQ&Aを見た人はこんなQ&Aも見ています
-
これまでで一番「情けなかったとき」はいつですか?
これまでの人生で一番「情けない」と感じていたときはいつですか? そこからどう変化していきましたか?
-
歳とったな〜〜と思ったことは?
歳とったな〜〜〜、老いたな〜〜と思った具体的な瞬間はありますか?
-
もし10億円当たったら何に使いますか?
みなさんの10億円プランが知りたいです!
-
この人頭いいなと思ったエピソード
一緒にいたときに「この人頭いいな」と思ったエピソードを教えてください
-
思い出すきっかけは 音楽?におい?景色?
記憶をふと思い出すきっかけは 音楽、におい、景色 どれですか?
-
エクセルVBAで、値が入っている最終行の、右隣の値をコピーして、別のセルに貼り付けるコード
Excel(エクセル)
-
VBA(エクセル)で自動的にボタンをクリックさせるには
その他(プログラミング・Web制作)
-
連続データが入った行の一番右端の右側の空白セル
Excel(エクセル)
-
-
4
エクセルのVBAでセルの貼り付け方向を指定する方法
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・「これはヤバかったな」という遅刻エピソード
- ・初めて自分の家と他人の家が違う、と意識した時
- ・いちばん失敗した人決定戦
- ・思い出すきっかけは 音楽?におい?景色?
- ・あなたなりのストレス発散方法を教えてください!
- ・もし10億円当たったら何に使いますか?
- ・何回やってもうまくいかないことは?
- ・今年はじめたいことは?
- ・あなたの人生で一番ピンチに陥った瞬間は?
- ・初めて見た映画を教えてください!
- ・今の日本に期待することはなんですか?
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・【お題】大変な警告
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・最強の防寒、あったか術を教えてください!
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelで、あるセルの値に応じて...
-
B列の最終行までA列をオート...
-
URLのリンク切れをマクロを使っ...
-
Cellsのかっこの中はどっちが行...
-
vba 2つの条件が一致したら...
-
Worksheets メソッドは失敗しま...
-
VBAのFind関数で結合セルを検索...
-
IIF関数の使い方
-
【VBA】2つのシートの値を比較...
-
エクセル 2つの表の並べ替え
-
VBA 何かしら文字が入っていたら
-
VBAを使って検索したセルをコピ...
-
オートフィルタをマクロで作成...
-
Changeイベントでの複数セルの...
-
複数csvを横に追加していくマク...
-
VBAで、離れた複数の列に対して...
-
データグリッドビューの一番最...
-
エクセル アクティブセルから...
-
SUM関数の範囲を変数を代入して...
-
VBAで指定範囲内の空白セルを左...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
B列の最終行までA列をオート...
-
Cellsのかっこの中はどっちが行...
-
Worksheets メソッドは失敗しま...
-
Excelで、あるセルの値に応じて...
-
vba 2つの条件が一致したら...
-
IIF関数の使い方
-
VBA 何かしら文字が入っていたら
-
VBAのFind関数で結合セルを検索...
-
【VBA】2つのシートの値を比較...
-
文字列の結合を空白行まで実行
-
Changeイベントでの複数セルの...
-
URLのリンク切れをマクロを使っ...
-
VBAで指定範囲内の空白セルを左...
-
【Excel VBA】 B列に特定の文字...
-
VBAを使って検索したセルをコピ...
-
VBAで、特定の文字より後を削除...
-
エクセル 2つの表の並べ替え
-
データグリッドビューの一番最...
-
rowsとcolsの意味
-
VBAでのリスト不一致抽出について
おすすめ情報
申し訳ありません。説明が不十分でした。
簡単に説明しすぎていました。
①新規登録の数値は『A列』ではなく、『C5』~『C2000』に入力しています。
②『C5』~『C2000』の内、数値の入力が無いセルもあります。
③『C5』~『C2000』の数値を『その行のB列』から右方向の最初の空白セルにその値を貼り付けるではなく、『その行のI列~S列』間の最初の空白セルにその値を貼り付けるです。
④『その行のI列~S列』のセルに空白セルが無い時は貼り付けない。
以上、お手数をお掛けして誠に申し訳ありませんが宜しくお願いします。