Sub テスト()
Workbooks("テスト1.xlsm").Worksheets("転記").Range("C3:J7").value = _
Workbooks("テスト1.xlsm").Worksheets("データ1").Range("C3:J7").value
End Sub
↑これではデータ1シートのC3:J7の文字や数字だけが転記シートのC3:J7にコピーされるだけで、
セルの色や罫線、フォントの大きさや色、などの設定情報が無視されてしまいます。
なので、文字や数字だけでなく設定情報もコピーできるように
↑のコードを↓のコードに修正していました。
Sub テスト()
Workbooks("テスト1.xlsm").Worksheets("転記").Range("C3:J7").PasteSpecial Paste:=xlPasteAll, _
Operation:=xlPasteSpecialOperationNone = _
Workbooks("テスト1.xlsm").Worksheets("データ1").Range("C3:J7").PasteSpecial Paste:=xlPasteAll, _
Operation:=xlPasteSpecialOperationNone
End Sub
しかし、エラーがでてしまいます。なぜなのでしょうか?
No.4ベストアンサー
- 回答日時:
こんにちは。
PasteSpecialはRangeに対して「形式を指定して貼り付け」を行うメソッドです。
なので、
(1)コピー元のRangeを「Copy」
(2)コピー先のRangeに「PasteSpecial」
と、2つの命令が最低でも必要になります。
ご提示のコードは、コピーする命令がなく、コピー元にもコピー先にも「PasteSpecial」を行っていて、なおかつ1行の命令に無理やりまとめてる的な...申し訳ないですが、文法がメチャメチャです(気を悪くしたらごめんなさい)
値だけでなく、書式等を全てコピー&貼り付けということでしたら
Workbooks("テスト1.xlsm").Worksheets("転記").Range("C3:J7").Copy _
Destination:=Workbooks("テスト1.xlsm").Worksheets("データ1").Range("C3:J7")
で良いかと思います。「PasteSpecial」にこだわる必要は、あまりないかなと。
外してたら、ごめんなさい。
No.3
- 回答日時:
>しかし、エラーがでてしまいます。
なぜなのでしょうか?⇒ご質問者は、「PasteSpecial」をwebで一度でも検索したのだろうか?
文法エラー(赤印字)なのだからでPasteSpecialメソッドのリファレンスをみれば一目瞭然ですのでお試し下さい。
No.2
- 回答日時:
代入とコピーの違いが判ってないようだ。
代入はセルの値(Value) だけを写すことを問題にする。
これはコンピュターソフト発祥以来の原初的な処理で、ビジネスではほとんどこれで済む。昔はこれしかなかった。
だんだん発達して、セルRangeの属性が多様化している。
後者は、マクロの記録でどういうコードになるか判るのでは。
(1)基本は
Sub Macro5()
Range("A1:A3").Select
Selection.Copy
Sheets("Sheet2").Select
Range("B2").Select
ActiveSheet.Paste
End Sub
(2)外にDestinationを使う方法 これは書き方や見るものには簡潔で判りやすい。
(3)PasteSpecialを使う方法
Paste:=xlPasteAll以外では(3)を使はないとならない場合があるので使い分ける必要がある場合はある。
ーー
エラーが出る原因は、=を使って代入でやるので無く、(2)、(3)では引数として情報を書くのだ。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Excel(エクセル) 【マクロ】PasteSpecialメソッドにて、コードが動かない理由が分かりません 2 2023/08/15 20:47
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/03 12:30
- Visual Basic(VBA) ワイルドカード「*」を使うとうまくいかないマクロの添削をお願いします 3 2022/03/26 09:39
- Excel(エクセル) エクセル VBAでシートのコピーを作りたい 1 2023/05/18 07:42
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/01/27 13:15
- Excel(エクセル) VBAのエラーが直せません 4 2023/06/12 22:10
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/01/26 09:50
- Visual Basic(VBA) 送付元、送付先が同じ大きさの複合セルのコピーがVBAで、できません。 1 2023/06/01 20:51
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/01/26 12:00
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelで行ごとコピー、同じ行を...
-
PDFの一部を切り取って別のシー...
-
塗りつぶしの色をコピーするには
-
C+vのvは英語で何の頭文字...
-
VBAのテキストボックスに文字列...
-
Excel 3列毎のセルを別の表に抽...
-
【エクセル】表の中の文字だけ...
-
EXCEL 1つ飛ばしのセル参照
-
コピー&貼り付けの仕方を教え...
-
Excelで、決まった行を繰り返し...
-
セルから一部だけを抜き出して...
-
マイナスの場合「xxxx-」...
-
Adobe Acrobat DCのスナップシ...
-
エクセルでコピーしたものをコ...
-
ショートカットキーで値のみ貼...
-
WORDのグレー括弧って?
-
この文の中の” &8212”の読み方...
-
Wiresharkのパケットの詳細のテ...
-
シートのコピー、セル全体のコ...
-
パワポに張り付けると画像が荒...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelで行ごとコピー、同じ行を...
-
PDFの一部を切り取って別のシー...
-
塗りつぶしの色をコピーするには
-
C+vのvは英語で何の頭文字...
-
【エクセル】表の中の文字だけ...
-
Excel 3列毎のセルを別の表に抽...
-
Excel フィルターを掛けた状態...
-
WORDのグレー括弧って?
-
セルに値がある行のみを抽出す...
-
VBAのテキストボックスに文字列...
-
エクセルでコピーしたものをコ...
-
マイナスの場合「xxxx-」...
-
エクセルでマクロにてセル色と...
-
コピーされたセルの文字が途中...
-
EXCEL 1つ飛ばしのセル参照
-
数式による空白を無視して最終...
-
コピー&貼り付けの仕方を教え...
-
エクセルVBAでコピーすると行の...
-
Wordの「背景色を消す方法」教...
-
エクセル VBA・マクロ コピー ...
おすすめ情報