エクセル 2003使用です。
エクセルのブック間におけるシートのコピーについてお願いします。
Book.Aのシート1の各セルは、関数の数式で入力(出力)されています。
このシートをコピーして、Book.Bにペーストしたいのですが、
コピーは、関数計算後の”結果の文字列”で行いたいです。
Book.Aのシート全体をコピーして
Book.Bのシートに「形式を選択して貼り付け」 → 「値」
で可能なのですが、シート数が多いので困っています。
Book.Aのシートタブを右クリックして「移動またはコピー」で
シートのコピーをすると、数式でコピーされてしまいます。
この方法で、値のみコピーのような方法はありませんでしょうか?
よろしくお願いします。
No.2ベストアンサー
- 回答日時:
まず、入出力(マクロブックも)は全て同じフォルダだとして、
単純にマクロブックにコピーしてイイのか?
処理対象が複数(ファイル)あって、それぞれ別のブックに出力したいのか??
その場合は、ブック名を解決する必要がある。(予めシートに設定しておくとか)
それと、書式もイラナイ???
Option Explicit
Sub SmplestCopy()
Const xFrom = "FromA.xls"
Const xUnBelivableName = "The simplest way!!"
Const xKey_Col = 1 'キー列番号
Const xHeads = 1 '見出しの行数
Dim xSheet As Worksheet
Dim xPath As String
Dim xName As String
Dim xLast As Long
Dim kk As Long
Dim mm As Long
Dim nn As Long
On Error Resume Next
Debug.Print vbNewLine & Now & " :Now!"
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Worksheets(1).Name = xUnBelivableName
xPath = (ThisWorkbook.Path & "\")
ChDrive (xPath)
ChDir (xPath)
If (ThisWorkbook.Name <> xFrom) Then
With Workbooks.Open(xPath & xFrom)
For Each xSheet In .Worksheets
xLast = xSheet.Cells(Rows.Count, xKey_Col).End(xlUp).Row
If (xLast > xHeads) Then
Else
MsgBox ("No Data Found!!")
End If
xName = xSheet.Name
With ThisWorkbook
.Worksheets(xName).Delete
.Worksheets.Add After:=.Worksheets(.Worksheets.Count)
.Worksheets(.Worksheets.Count).Name = xName
Application.CutCopyMode = False
xSheet.UsedRange.Copy
.Worksheets(.Worksheets.Count).Range("A1").PasteSpecial xlPasteValues
End With
Next
ThisWorkbook.Worksheets(xUnBelivableName).Delete
.Close (False)
End With
Else
MsgBox ("別のブックで実行してね!")
End If
Epilogue:
Set xSheet = Nothing
Application.CutCopyMode = False
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
JazzCorp さま ありがとうございます。
返事が遅くなり申し訳ございまぜん。
コード貼り付けたらできました
ありがとうございました!
No.3
- 回答日時:
シートタブで複製可能という事なので
「事前に用意されているシートに貼り付ける」
と、いう可能性は無いものと思いました。
で、困っている点としては
BookA側コピー対象シートが多すぎて手間だ。
と、言う事だと思います。
何のことはない作業グループを組んで
その状態で表に現れたシートの全セルを選んでコピー
BookBの先頭シートを選んで
形式を選んで値のみ、又は値と書式のみコピー
(※注:その他でも可)
これで複数シートが一括でコピーされますよ。
但し、
BookB側のシート数が少ない場合は保証外です (^_^;)
如何でしょうか?
お役に立てていたならば幸いです。
Excelの作業グループ
http://www.relief.jp/itnote/archives/000144.php
http://www.hello-pc.net/howto-excel/sagyougroup/
Nouble さま ありがとうございます。
返事が遅くなり申し訳ございません。
作業グループで、BookAで全範囲を選択し、
BookBでも同じシートの数だけ作業グループに指定しておくと
できました。
(先頭シートだけですと、領域が違うというエラーがでました)
先に同じBookBに同じ名前のシートを用意していればOKですね。
この方法は気づいていませんでした。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/01/26 09:50
- Excel(エクセル) シート参照を含む数式を連続コピー 3 2022/12/10 11:42
- その他(Microsoft Office) エクセルマクロ オートフィルターでで選択コピー 2 2022/04/18 11:05
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/25 11:55
- Visual Basic(VBA) VBA 最終行まで数式をコピーする 3 2023/01/03 15:44
- Excel(エクセル) エクセルのマクロについて教えてください。 3 2023/02/07 14:47
- Visual Basic(VBA) 範囲を指定して別シートにコピペ 2 2022/09/15 07:32
- その他(Microsoft Office) 関数を教えてください 1 2022/12/13 15:56
- Excel(エクセル) シートが違う2枚のエクセルシートにある数値を別シートにコピーしたい(VBA?) 8 2022/03/31 12:24
- Excel(エクセル) エクセルのマクロについて教えてください。 2 2023/02/26 13:19
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルの選択範囲以外を削除...
-
Excel 関数を使ってデータと一...
-
【VBA】コピー&複数個所のペー...
-
【Excel】数式をそのまま他のシ...
-
EXCELで別のブックから式をコピ...
-
Excelの行をコピーして貼り付け...
-
EXCELのVBAでシートコピーをし...
-
Excel シートのコピーの際、ペ...
-
Excel シートに別のExcelシート...
-
エクセルのシートコピーした際...
-
シートが保護されていないのに...
-
Excel シート複数 金額日計表と...
-
エクセルのページをシートごと...
-
Excel 数式の保護をしたセルを...
-
【Excel VBA】シートコピー時、...
-
エクセルVBA 1行飛ばしで転記す...
-
VBAにて複数フォルダのエクセル...
-
エクセルの1シートの内容を複...
-
【エクセル】プルダウン設定の...
-
Excel マクロ抽出、別シートに...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルの選択範囲以外を削除...
-
Excel 関数を使ってデータと一...
-
EXCELのVBAでシートコピーをし...
-
EXCELで別のブックから式をコピ...
-
【Excel】数式をそのまま他のシ...
-
【VBA】コピー&複数個所のペー...
-
Excelの行をコピーして貼り付け...
-
【エクセル】プルダウン設定の...
-
エクセルのワークシートをUSBメ...
-
Excel シートのコピーの際、ペ...
-
エクセルの1シートの内容を複...
-
エクセルVBA 1行飛ばしで転記す...
-
【Excel VBA】シートコピー時、...
-
エクセルシートを別のエクセル...
-
ExcelVBAで、ユーザーフォーム...
-
エクセルでシートを「移動また...
-
Excel シートに別のExcelシート...
-
Excel 数式の保護をしたセルを...
-
EXCEL2007でシートをコピーする...
-
シートが保護されていないのに...
おすすめ情報