質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Q&A

3回答

1628閲覧

VBA 指定した範囲の値のみコピーする

Mkasai

総合スコア19

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

0グッド

0クリップ

投稿2020/08/28 07:16

前提・実現したいこと

エクセルの指定したシートの範囲を指定して、値のみ別シートにコピーしたい。

発生している問題・エラーメッセージ

コピーしたいシートには、セルに関数が入っているので、値のみ貼り付けを行いたい。 コピーしたい範囲は、(A1:BB81)です。

該当のソースコード

Sub サンプル() Sheets("見積書").Copy End Sub

試したこと

インターネットで検索してみて、同じブック内でのコピーはあるようですが、別ブックでのコピーが見つけられませんでした。また、範囲を指定して別ブックで値のみというのが探せませんでした。
よtよろしくお願いします。

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

meg_

2020/08/28 07:42

> インターネットで検索してみて、同じブック内でのコピーはあるようですが、別ブックでのコピーが見つけられませんでした。また、範囲を指定して別ブックで値のみというのが探せませんでした。 どんなキーワードで検索しましたか?
guest

回答3

0

参考リンクをあげておきます
セルのコピー&値の貼り付け(PasteSpecial)

vba

1Worksheets("Sheet1").Range("A1:B10").Copy 2Worksheets("Sheet2").Range("A1").PasteSpecial _ 3                 Paste:=xlPasteValues, _ 4                 Operation:=xlNone, _ 5                 SkipBlanks:=False, _ 6                 Transpose:=False

ブックからブックへの貼り付け

vba

1With Workbooks.Open("貼り付けたいブック.xls") 2 '「貼付元」シートを全部コピー 3 .Worksheets("貼付元").Cells.Copy 4 'このブックの「貼付先」シートへ値貼り付け 5 ThisWorkbook.Worksheets("貼付先").Range("A1").PasteSpecial _ 6 xlPasteValuesAndNumberFormats 7 'コピー中状態を解除 8 Application.CutCopyMode = false 9 'ブックを保存せずに閉じる 10 .Close False 11End With

投稿2020/09/01 00:07

編集2020/09/01 08:20
radames1000

総合スコア1923

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

エクセルでは、コピーするときは単にコピー。
貼り付けるときに、形式を選択して貼り付け→値のみ
とします。

その操作を、まずはマクロの記録という機能でVBAのコードとして記録してもらって、
コードを探ることが可能になります。
まずはそこからやってみてください。
当然別のブックへもコピペできます。

投稿2020/08/28 07:50

mattuwan

総合スコア2136

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

コピーした後に、関数を値に変換する方法です。

VBA

1Sub サンプル2() 2 Sheets("見積書").Copy 3 Range("A1:BB81").Value = Range("A1:BB81").Value 4End Sub

投稿2020/08/28 07:21

TanakaHiroaki

総合スコア1063

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Mkasai

2020/08/28 08:00

ありがとうございました。 今回指定した範囲外のところに、マクロボタンを複数配置しているのですが、このボタンが一緒にコピーされてきました。 マクロボタンはコピーされないようにする方法はありますでしょうか。 よろしくお願いします。
TanakaHiroaki

2020/08/28 08:05 編集

最初にコピー先シートを作成しておき、元のシートの範囲選択コピー&ペーストで実現できます。 この方法は、ペースト時に値変換する必要があります。
Mkasai

2020/08/31 02:43

ありがとうございました。 値変換というのがよくわからなかったので、 Sub サンプル2() Sheets("見積書").Range("A1:BB81").Copy Range("A1:BB81").Value = Range("A1:BB81").Value End Sub としてみたのですが、コピー箇所が囲われただけで動きませんでした。 教えていただいたように、ボタンを押すとシートが立ち上がっていたので希望の動きだったのですが、 コピーしたくない箇所をどうしたらいいのかまだ悩んでいます。 よろしくお願いします。
TanakaHiroaki

2020/09/01 12:13 編集

値変換とは値の貼り付け、radames1000さんが回答されたリンク先には詳しい説明があります。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問