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

VBAでAY404:AY790の値を
コピー先のFE98:FE484に加算しようと思いマクロの登録で
Range("AY404:AY790").Select
Selection.Copy
Range("FE98").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlAdd, SkipBlanks _
:=False, Transpose:=False
上記を作成したのですが、画面がFEの列に移動してしまいます
色々ためして見ましたがどうしても画面がFEの列に移動してしまいます
どなたか画面の移動しない方法を教えていただけませんでしょうか、お願い致します。

A 回答 (3件)

No2です。


>早速のお答え、ありがとう御座います。
>私が初心者のせいなのか上手くいきませんでした。

失礼しました。質問の意味を勘違いしていました。
要は、マクロ実行時に実行前と実行後の画面表示位置を同じにしたいということですね。
以下のようにします。
Dim rg As Range '追加①
Set rg = ActiveWindow.Selection '追加②

Range("AY404:AY790").Select
Selection.Copy
Range("FE98").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlAdd, SkipBlanks:=False, Transpose:=False

rg.Select '追加③

-----------------------------------------
追加①②③を追加してください。
マクロ実行の最初で、現在の表示位置を記憶し、マクロの最後でその位置に戻しています。
    • good
    • 0
この回答へのお礼

早急で親切なご回答ありがとう御座います
さっそく使わせて戴きました

お礼日時:2017/09/18 16:40

試してませんが


Operation:=xlPasteSpecialOperationAdd
はどうでしょうか。
    • good
    • 0
この回答へのお礼

早速のお答え、ありがとう御座います。
私が初心者のせいなのか上手くいきませんでした。

お礼日時:2017/09/18 14:57

コピー行の後に、Range().Selectを追加したら駄目ですか?



AY列に留めたいならRange("AY1").Select
AY98の位置にしたいならRange("AY98").Select
A列にしたいならRange("A1").Select

を1行追加する。
    • good
    • 0
この回答へのお礼

早速のお答え有り難う御座います
説明不足でした、マクロ実行のステップのひとつなので
実行中の画面移動を防ぎたいのです。

お礼日時:2017/09/18 14:57

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