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

(1)
単一のシート内の、数式が入った単一のセルを選択した状態(入力モードや編集モードではない)において、そのセルの計算結果をテキストデータとしてコピーするVBAを探しています。

単にセルを選択してコピーするだけでは、書式情報もコピーされてしまいます。
例えば、計算結果が「12345.6」で書式「通貨」のとき、表示は「¥12,346 」となり、コピーされるデキストデータも「¥12,346 」となります。

しかし、円マークやカンマや半角スペースを含まず、数値を丸めもしていない、「12345.6」というテキスト情報だけをコピーしたいです。
さらに詳しく言うと、(一般的にエクセルでセルがコピーされるときにどのような書式情報が含まれるのか知らないのですが)、メモ帳でテキストを選択してコピーしたときと同じ形式で、計算結果だけをクリップボードへコピーしたいのです。

(2)
欲を言えば、単一のシート内で連続した複数のセルを選択した状態で、それらのセルのデータを連続したテキストとしてコピーできたら、なおうれしいです。
(この際、セルを認識する順番が問題になりますが、「論理順」と言うのでしょうか、おそらく一般的な下記のような順番だと助かります。「上の行から優先して、1行内で選択した列を順番に認識したら、次の行へ」というイメージです。)

(3)
さらに欲を言えば、単一のシート内で連続していない(飛び地の)複数のセルを選択した状態で、同様にできたら、最高です!
(セルを認識する順番は上記と同様)


背景として、Officeとは別のソフトにデータを貼り付けたいのですが、セルを選択して単純にコピーしただけでは貼り付けられないという状況からです。
現状では、下記のいずれかの方法で対応していますが、実行頻度がとても高いため、VBAのショートカットを充てて、楽をしたいと考えています。
(あ)セルの編集モードにして → 計算結果を確定させて → コピーして → 編集モードを閉じる(F2 → F9 → Ctrl+C → Esc)
(い)セルを単純にコピーして、いったん「メモ帳」などのソフトに貼り付けてから、さらにそれをコピー


エクセルのバージョンにはあまり依存しないと思いますが、当方の環境はOffice 365 ProPlusです。


長文でわかりづらく、すみません!
「欲を言えば」の(2)と(3)は、できればありがたいですが、(1)だけでもお知恵をお借りできたら幸いです。

よろしくお願い致します!

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

  • No.5回答者さま

    無事、別のアプリへの貼り付けができました!
    編集できないピボットテーブルの値からなどもコピーできますね。

    ご記載のとおり単一セルが対象で、間違って複数セルを選択した状態で実行すると、セル番地に関わらず、一番初めに選択したセルが適用されるようですね。

    複数セルからのコピーは、いったん断念します。

    助かりました。
    ありがとうございました!
    コードが読めないのでまだロジックは理解できませんが、精進します!

    No.5の回答に寄せられた補足コメントです。 補足日時:2020/10/21 09:01

A 回答 (11件中11~11件)

(1)(2)(3)について。

VBAじゃなくてですね:
 copyした後、貼るときに「形式を選択してペースト」で「◉値」を選択すればOKです。貼る先のcellに予め変な書式が設定してあったりしなければ大丈夫。
 これをイッパツでやれるように、「値の貼り付け」にショートカットキーを割り当てたり、ツールバーに登録したりしとけば便利です。
    • good
    • 0
この回答へのお礼

>No.1回答者さま
早々にご回答くださり、ありがとうございます。
ただ、エクセルでの貼り付け方法は問題ではなく、エクセルではない別のソフトで貼り付けるためにテキスト情報のみコピーしたいという状況なのです。
質問文がわかりづらかったようで、すみません!

お礼日時:2020/10/20 16:27

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

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


おすすめ情報