[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『作業中のワークシートのみをデスクトップに名前を付けて保存』(ふう)
複数のワークシートがあるファイルで作業し、作業修了後に
そのワークシートのみをデスクトップに保存したい。
ワークシートには数式が入っているので保存は数式ではなく値として
保存したいのですが、よろしくお願いいたします。
< 使用 Excel:Excel2010、使用 OS:Windows10 >
ものすごくテキトーに書きますけど、 だいたい↓こんな感じの流れで出来るかと思います。
Worksheets(そのワークシート).Copy With ActiveSheet .Cells.Copy .Cells(1, 1).PasteSpecial Paste:=xlPasteValues Application.CutCopyMode = False .SaveAs Environ("userprofile") & "\Desktop\" & ファイル名 .Parent.Close End With
数式を値に変換するくだりは、 元シートの状況によっては↑ではマズい場合もあろうかとは思います。
(白茶) 2019/06/26(水) 09:10
※白茶さんの方法もアリ
あとは、
(1)シートをまるごと【新規ブック】へコピー (2)(Activeになっている)【新規ブック】の1番目のシート全体を一旦コピーして、そのままその範囲に値のみ貼付 (3)デスクトップに【新規ブック】を名前をつけて保存 (4)【新規ブック】を閉じる
といった作業を「マクロの記録」やネット検索で命令を調べつつ、整理すればとりあえずの完成はするとおもいます。
そして、もうちょっと慣れてくると(2)の作業は、↓みたいにもできるな〜って思うようになるとおもいます。
.Worksheets(1).UsedRange.Value = .Worksheets(1).UsedRange.Value
おまけで研究用に以下のコードを提供しますので、ご自身で整理したものと見比べてみてください。
大体おなじになるとおもいます。
Sub さんぷる() Stop
'シートのコピー Worksheets("Sheet1").Copy
With ActiveWorkbook
'数式を含め全体を値に変換 .Worksheets(1).UsedRange.Value = .Worksheets(1).UsedRange.Value
'ブックの保存 .SaveAs _ Filename:=CreateObject("WScript.Shell").SpecialFolders("Desktop") & "\" & _ "さんぷる" & Format(Now(), "YYYYMMDD_hhmm_ss")
'ブックをとじる .Close End With End Sub
(もこな2) 2019/06/26(水) 12:37
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.