[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『貼り付け先の書式でコピー』(もてぎ)
ブックAの数値が入力されたセルをコピーし、ブックBに貼り付けます。
ブックBには既に値と計算式が入っており、ブックAとBの値の差を求めます。
これを手作業で行う場合、ペーストの際「コピー先の書式に合わせる」を選択します。
これをVBAで表現したいのですが、どこのページでも「値のみ貼り付け」の書き方しか書いておらず困っています。この「値のみ貼り付け」で貼り付けると計算式(ex: =A1-C1)のセルに「#VALUE!」エラーが表示されてしまいます。どのように書けばコピー先の書式に合わせてペーストできるのでしょうか。よろしくお願いします。
※このエラーは、貼り付けたセルが空白(に見える?)場合発生し、セルをダブルクリックし他のセルを選択すると何故か消えます。
< 使用 Excel:Excel2013、使用 OS:Windows10 >
手作業なら、問題ないのでしょうか?
「マクロの記録」は試してみましたか。
(マナ) 2019/04/18(木) 22:10
(cai) 2019/04/19(金) 08:55
最初は「値のみ貼り付け」のコードで、それでは不都合があるということでしたが、 「コピー先の書式に合わせる」のコードに修正してもコピー先の書式に合わせて 貼り付けが出来ないのですか。 マクロの記録のコードを参考に、「コピー先の書式に合わせる」に修正した現在の コードはどうなっていますか。 (cai) 2019/04/19(金) 12:25
ちなみに、私の環境もExcel2013ですが、ペーストする時の「形式を選択して貼り付け」には「コピー先の書式に合わせる」という選択肢は無いのですが、、、、
選択肢が無いので、どのページにも書いていないのだと思いますが、、、、
検索してみるとExcel2007には似た選択肢として「貼り付け先の書式に合わせる」という選択肢があったようですね。
他の皆様のところには、「コピー先の書式に合わせる」は表示されるのでしょうか?
(う) 2019/04/22(月) 11:30
同じ現象が発生する方法として、もう一つありました。
コピー元が、例えば「=if(A1="","",123)」のように、計算式で""で空を入力したセルを、自セルにコピー&値貼付けした場合
(数式バー・セルともに何もないように見える)
両方とも、Excel的には空白ではないけど空白に見えるセル の場合ですね。
「'」のみや""とNullは異なるので、編集状態にして確定するとNullになるから計算式が計算できるようになるのでしょうが。
回答ではなく申し訳ありません。
とりえあず原因がわかれば対処できるかと。。。。
(う) 2019/04/22(月) 11:50
私の環境には「コピー先の書式に合わせる」が無いので、これを実行するとどういう結果になるのかわからないのですが、とりえず値をコピーしたいだけであれば、私ならコピー&ペースト機能は使わずに、以下のような感じで直接セルの値をセルに代入してしまいます。
Workbooks("B.xlsx").Worksheets(1).Range("B1:B3").value = Workbooks("A.xlsm").Worksheets(1).Range("A1:A3").value
この方法だと、「'」だけや""も、Nullとして入力され、計算式がエラーになることはありませんでした。
ご参考まで。
(う) 2019/04/22(月) 14:07
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.