アプリ版:「スタンプのみでお礼する」機能のリリースについて

B列に数字が入力されています。
C列には数字と文字が入力されています。

B列,C列
5,佐藤
,田中
,鈴木
,田中2
,田中3

B列の最後尾にある(この場合5)数字をC列に入力されている行分、入力し、最後にその数字+1
をB列に入力するマクロを教えていただけないでしょうか。

5,佐藤
5,田中
5,鈴木
5,田中2
5,田中3
6

自分で考えて、
Range("B65536").End(xlUp).Select
Selection.Copy
Range(Range("B65536").End(xlUp).Offset(1),Range("C65536").End(xlUp).Offset(, -1)).Select
ActiveSheet.Paste

5の貼り付けまではできたのですが、6を入力することができません。

よろしくお願いします。

A 回答 (1件)

こんにちは



ご提示の記述方法に準ずるなら
Range("B65536").End(xlUp).Offset(1) = Range("B65536").End(xlUp) + 1
を追加するとかでしょうか。


全体に変数を利用したほうが、少しだけ簡潔になると思います。
 Set bMax = Cells(Rows.Count, 2).End(xlUp)
 Set cMax = Cells(Rows.Count, 3).End(xlUp).Offset(, -1)
 Range(bMax, cMax).Value = bMax.Value
 cMax.Offset(1).Value = bMax.Value + 1
とか。


ただし、このマクロはシートの状態を一切チェックしていないので、値の状態がご説明の状態と異なると、想定外の処理になりそうです。
例えば、2回続けてマクロを実行すると予定外の結果になりそうですね。
あるいは、B列に数字以外が入っていると、+1の演算でエラーが発生します。
    • good
    • 0
この回答へのお礼

ありがとうございました。バッチリ望み通りの結果です。3回テストしましたが問題なかったです。本当にありがとうございました。

お礼日時:2024/01/12 11:40

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

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A