Excel (VBA)

Excel VBAに関するフォーラムです。
  • 掲示板への投稿には会員登録(無料)が必要です。会員登録がまだの方はこちら
  • 掲示板ご利用上のお願い」に反するご記入はご遠慮ください。
  • Q&A掲示板の使い方はこちらをご覧ください
トピックに返信
質問

 
(Windows 10 Pro : Microsoft 365)
CSVに変換しqmkから、Xlsxに変換して保管すると数式が復元されてします。
投稿日時: 22/12/21 09:17:19
投稿者: takatada72

お世話になります。
 
Excel のシートを数式が入っているので、一旦CSVに変換します。
その後、CSVの一部の列を数値に変換してから、XLSXに変換して
保存すると、なぜか、Xlsxに保管されたとたんに数式が復元され
てしまうのです。
※自分の考えでは、CSVに変換すれば、数式がなくなって、それを
XLSXにすれば、数式なしで保存できると考えたからです。
 
下記のコードでどこがおかしいのでしょうか?
 
 
'csvに一旦保管する
 Sheets("事前出力用").Copy '名前を付け、ファイル形式も決めて特定の場所に保存する。
 ActiveWorkbook.SaveAs _
 fileName:="\\Database\test\DR2出力\DR2出力", _
 FileFormat:=xlCSV '一旦Csv形式に保存する
 
'D列の文字を数字に変更4.58078E+12 →4580779526704
    Columns("D:D").Select
    Selection.NumberFormatLocal = "0_ "
     
 
'xlsxの形式に保存
    ChDir "\\Database\test\DR2出力\DR2出力"
    ActiveWorkbook.SaveAs Filename:= _
        "\\Database\test\DR2出力\DR2出力.xlsx", FileFormat:= _
        xlOpenXMLWorkbook, CreateBackup:=False

回答
投稿日時: 22/12/21 10:52:12
投稿者: Suzu

手動で同様の事を行えば判りますが
 
CSV に保存しても、その段階で数式が消える訳ではありません。
数式は、まだ 残っています。(閉じる事で破棄されます)
 
数式が 保持された状態から、xlsx で保存すると、数式は破棄されずそのままで保存されます。
 
 
方法.1
 セルをコピーし、値として貼り付ける
 
 
方法.2
 CSV として保存後、閉じてから、CSVを開き、xlsx として保存

回答
投稿日時: 22/12/26 15:48:58
投稿者: WinArrow

新しくスレを立てるのではなく、
 
このスレを閉じてください。

トピックに返信