🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
VBA

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

Q&A

1回答

1611閲覧

VBAについて。ペーストをトリガーに、行のコピーを行う方法を教えてください。

makino

総合スコア32

VBA

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

0グッド

0クリップ

投稿2019/11/11 13:32

あるセル(今回は"D4")に値を貼り付けたとき、

①貼り付けた行(一行分)の枠線をコピーして、貼り付けた行数分ペースト
②貼り付けた行のAC列の値をコピーし、貼り付けた行数分(AC列に)ペースト

上記の処理をしたく、下記のようなコードを書いたのですが、
→ Range(Cells(startRow, 1), Cells(endRow, 1)).Paste
この箇所で、
エラー 438 「オブジェクトは、このプロパティまたはメソッドをサポートしていません。」
というエラーが発生します。

どのようなコードを書けばよいのでしょうか?
ご教授お願いします。

VBA

1Option Explicit 2 3Private Sub Worksheet_Change(ByVal Target As Range) 4 If Not Intersect(Target, Range("D4")) Is Nothing Then 5 6 Dim startRow As Long 7 Dim endRow As Long 8 9 '先頭行の取得 10 startRow = Selection(1).Row 11 '最終行の取得 12 endRow = Selection(Selection.Count).Row 13 14 '先頭行を選択範囲全体に貼付け 15 Call CopyRows(startRow, endRow) 16 17 End If 18 End Sub 19 20'コピー→ペースト 21Sub CopyRows(startRow As Long, endRow As Long) 22 23 '枠のみコピー 24 Rows(startRow).Copy 25 Rows(startRow + 1 & ":" & endRow).PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _ 26 SkipBlanks:=False, Transpose:=False 27 Application.CutCopyMode = False 28 29 '書式設定コピー 30 Range(Cells(startRow, 1), Cells(startRow, 3)).Copy 31 Range(Cells(startRow, 1), Cells(endRow, 1)).Paste 32 33 Range("A1").Select 34 35End Sub 36 37

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

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

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

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

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

yokotatsu

2019/11/12 03:05

あなたのなさりたいことがよくわかりません。 1.実行前のセルの状態 2.実行後のセルの状態 3.コピー元のセルの状態 上記が判るような画像を提示していただくと、良い回答が得られるかと。
guest

回答1

0

何をしたいのか分かりませんが、エラーの原因は、
Pasteメソッドはワークシートのメソッドであって、RangeにはPasteメソッドがないからですね。
ヘルプで調べればすぐわかることです。

Worksheet.Paste メソッド (Excel) | Microsoft Docs

vba

1 '書式設定コピー 2 Range(Cells(startRow, 1), Cells(startRow, 3)).Copy 3' Range(Cells(startRow, 1), Cells(endRow, 1)).Paste ←削除 4 Me.Paste Range(Cells(startRow, 1), Cells(endRow, 1)) '挿入

投稿2019/11/12 01:53

hatena19

総合スコア34073

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問