[[20190301101922]] 『マクロにて・・・』(ひろし) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『マクロにて・・・』(ひろし)

皆様のお力をお貸しください。

現在、下記マクロを使って(コピペですが・・・)転記を行おうとしています。
実行元の行には関数が入っているのですが、転記後、関数まで転記(クリア?)されてしまい、実行元の関数がなくなってしまいます。
関数は残し値だけを転記するには下記のどこを直せばいいのでしょうか?
全くの素人で右も左も分からない為、ご教示頂ければと思います。

 Sub shuushuu()

    Application.ScreenUpdating = False

    Sheets("入力").Select

    '入力データをコピーする
    If Range("A2") = "" Then
        Exit Sub
    ElseIf Range("A3") = "" Then
        Range("A2").Select
        Range(Selection, Selection.End(xlToRight)).Select
        Selection.Copy
    Else
        Range("A2").Select
        Range(Selection, Selection.End(xlToRight)).Select
        Range(Selection, Selection.End(xlDown)).Select
        Selection.Copy
    End If

    '保存にコピーする
    Sheets("保存").Select
    Range("A65535").Select
    Selection.End(xlUp).Select
    Selection.Offset(1, 0).Select
    ActiveSheet.Paste

    '入力データをコピーする
    Sheets("入力").Select
    Application.CutCopyMode = False
    Selection.ClearContents
    Range("A2").Select

    Application.ScreenUpdating = True

 End Sub

< 使用 Excel:Excel2016、使用 OS:Windows10 >


コピーした後に、コピーした元を消すコーディングになってますから、消えるのは想定通りのはずですよ? 消えて困るなら、消すコードなんて書かなければ良いだけ。 思った通りに動かない場合は、まずはステップ実行してみてください。
 >    Sheets("入力").Select
 >    Application.CutCopyMode = False
 >    Selection.ClearContents

(???) 2019/03/01(金) 11:26


コメントありがとうございます。
実行後クリアになるのはそのままで関数だけ残すこと可能なのでしょうか?

(ひろし) 2019/03/01(金) 11:34


マクロなんだし、全部消してから関数を再設定してしまうのが簡単かと。
または、以下のコードを組み入れてみてください。
    '変数追加
    Dim R As Range
    …

    'コピー後
    Set R = Selection
    …

    'ペースト後
    R.SpecialCells(xlCellTypeConstants).ClearContents
(???) 2019/03/01(金) 12:49

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.