4

数式が邪魔な場面ってありますよね。
Excelを値で上書くバリエーションのお裾分けです。
一番ピンとくるものを使えば良いと思います。
わたしのオススメは代入です。

 

同梱ライブラリ

Excel操作(範囲コピー) ← Excel操作(書式を含めたコピー)内
Excel操作(値のみペースト) ← PasteSpecial -4163 'xlPasteValues

  • うまくいかないという書き込みもときどき見かける

https://winactor.com/questions/?q=値のみペースト

  • PasteSpecialに失敗

https://winactor.com/questions/?q=PasteSpecial

  • 1004

https://winactor.com/questions/?q=1004

 

プチライブラリ

Excelファイルの値のみペーストするライブラリ
https://winactor.biz/library/2018/11/09_417.html

  • リボンメニューのショートカットAlt、H、V、V相当
  • 予め範囲選択やコピーを経ておく

 

プチライブラリのちょい加工

Excel操作(範囲指定貼り付け) | プチライブラリ
https://winactor.biz/library/2021/03/12_3792.html

  • 値貼り付けオプションの追加方法

https://winactor.com/questions/question/【excel】シートをコピーして指定のシートに張り付/

 

代入のススメ

  • クリップボードを使うコピペより、値の代入のほうが軽くてオススメ

Office TANAKA - セルの操作[セルのコピー]
http://officetanaka.net/excel/vba/cell/cell09.htm

  • 範囲が大きいほど、繰り返す回数が多いほど、実行頻度が高いほど効果が高い
  • スクリプト加工の練習にも適する

 

シートごと値に変換(同梱ライブラリのちょい加工)

  • 命名:Excel操作(シートを値で上書き(代入))
  • ベースライブラリ:Excel操作(シート選択)
  • 加工前

Excelworksheet.Activate

  • 加工後

Excelworksheet.UsedRange.Value = Excelworksheet.UsedRange.Value

  • オススメ表記(冗長部分の最適化)

With Excelworksheet.UsedRange
    .Value = .Value
End With

  • リファレンス

練習問題28(シートを別ブックにして値のみにする)解答|VBA練習問題解答
https://excel-ubara.com/excel-answer/EXCELVBA628A.html

 

指定範囲のみ値に変換(同梱ライブラリのちょい加工)

  • 命名:Excel操作(範囲を値で上書き(代入))
  • ベースライブラリ:Excel操作(範囲選択)
  • 加工前

worksheet.range(range).Select

  • 加工後

worksheet.range(range).Value = worksheet.range(range).Value

  • オススメ表記(冗長部分の最適化)

With worksheet.range(range)
    .Value = .Value
End With

 

代入手法の近い目的への活用例

  • 範囲を一致させることで、値で上書くのと同じ結果になる

https://winactor.com/questions/question/転記用にexcel操作範囲コピーを拡張してみた/

https://winactor.com/questions/question/転記用にexcel操作数式の設定を拡張してみた/

anothersolution 質問の投稿
回答とコメントは、会員登録(無料)で閲覧できるようになります。