重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

B3~B26の値をC3から右に空白を探して値で貼り付けるマクロ構文を教えてください。

質問者からの補足コメント

  • putmakerさん説明不足が多くて申し訳ございません。
    ① B3~B26は、集計基礎入力として使用します。
    ② ①で入力したデータをC列より右で空白列を調査して集計積み上げていきます。
    『 B3~B26』で入力した数値を『C3~C26』へ値で貼り付けます。
     次の集計数値は、『D3~D26』、『E3~E26』『F3~F26』の順に数値を貼り付けします。
     C列→CZ列まで順番に左から右の列に入力された数値を蓄積させたいと思っています。
    ③ 28行以下で日付毎で集計する計算式が入力されています。
    画像を添付いたしますので、ご確認お願い致します。

    「集計業務で空白のセルに数値を値で貼り付け」の補足画像1
    No.2の回答に寄せられた補足コメントです。 補足日時:2020/05/05 12:47

A 回答 (3件)

要するに、B3からB26までのセルをコピーして、C列からどんどん右を見ていって全て空白の列があれば、その列の3行目から26行目までに値を貼り付ける感じだよね?



Sub Macro1()

k = 3
Range("B3", "B26").Copy

Do While k <= 104
If WorksheetFunction.CountA(Range(Cells(3, k), Cells(26, k))) = 0 Then
Range(Cells(3, k), Cells(26, k)).PasteSpecial xlPasteValues
Exit Sub
Else
k = k + 1
End If

Loop

a = MsgBox("CZ列まで全て記入済みです")

End Sub

一応組んでみたけど、誤動作がないか確かめてみて。CZ列まで空白の列が無ければ、「全て記入済みです」とメッセージボックスが出るように組まれています。マクロ名はMacro1です。

質問を締め切る前に動作確認をしてください。
    • good
    • 1
この回答へのお礼

putmakerさん
ご回答ありがとうございます。
思いとおりの動作が、確認できました。
色々と説明不足あり、ご迷惑おかけして申し訳ありませんでした。
何度もご回答いただき感謝いたします。

お礼日時:2020/05/05 18:01

>B3~B26の値をC3~C26へ値で貼り付け、C列7が入力されていたら、D列・E列と空白のセルに縦に値を貼り付けしたいです。



すみませんが、意味が少し理解できません。
「B3~B26の値をC3~C26へ値で貼り付け」は分かります。

一応確認ですが、C列7が入力されていたらの7は誤字ですか?

その後のC列が入力されていたら、D列・E列と空白のセルに縦に値を貼り付けしたいとありますが、ここでいう空白のセルとは何ですか?D列やE列とは別にあるのですか?
というかD列とかE列には何も入力されていないのですか?それとも何かしら入力されているセルもあって、C列が既に入力されていて、その横のD列やE列のセルが空白ならば入力するということですか?

マクロを使う前がどういう状況なのか分からないので、こちらでもマクロを組みようがないです。

何をしたいか、スクリーンショットで説明してくれないと分かりにくいです。補足欄にスクリーンショットを貼ってくれますと、視覚的に何がしたいかが分かります。
この回答への補足あり
    • good
    • 0

B3~B26の値をコピーして、C3~Z3まで空白のところに値を貼り付けしたいんだよね。


whileを使うならば、

Sub Macro1()

k = 3

Do While k <= 26
Cells(k, 2).Copy
If Cells(3, k).Value = "" Then
Cells(3, k).PasteSpecial Paste:=xlPasteValues
End If

k = k + 1

Loop

End Sub

一応質問を締め切る前に動作するか確認しておいてください。マクロの名前はMacro1にしています。
    • good
    • 0
この回答へのお礼

putmakerさん
ご回答ありがとうございます。
説明不足でした。B3~B26の値をC3~C26へ値で貼り付け、C列7が入力されていたら、D列・E列と空白のセルに縦に値を貼り付けしたいです。
ご教示お願いいたします。

お礼日時:2020/05/05 10:42

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!