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

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

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

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

Q&A

解決済

1回答

1225閲覧

VBA 別シートに転記

zaki061

総合スコア2

VBA

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

0グッド

0クリップ

投稿2021/06/15 12:55

VBA初心者です。

シートに記載された内容を別シートにバックアップとして転記したいです。

★の部分で「実行時エラー 1004 アプリケーション定義またはオブジェクト定義のエラー」となってしまいます。
どのように改善したら良いのでしょうか?
また、その他コードの書き方で直すべき点がありましたらご教授いただきたいです。

Sub 印刷とバックアップ()

Dim ws1, ws2 As Worksheet
Dim endrow As Long

Set ws1 = Sheets("申請様式")
If ws1.Cells(17, 2) = "" Then
MsgBox "リストにデータが入力されていません。内容をご確認ください。"
Exit Sub
End If

Set ws2 = Sheets("バックアップ") endrow = ws2.Cells(Rows.Count, 1).End(xlUp).Row

★ ws2.Range(Cells(endrow + 1, 1), Cells(endrow + 5, 7)).Value = ws1.Range(Cells(18, 2), Cells(22, 8)).Value

これ以降はセルの色付けと印刷のコードを書いていますが、そちらにエラーはなかったので省略します。

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

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

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

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

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

guest

回答1

0

ベストアンサー

VBA

1ws2.Range(Cells(endrow + 1, 1), Cells(endrow + 5, 7)).Value = ws1.Range(Cells(18, 2), Cells(22, 8)).Value

VBA

1ws2.Range(ws2.Cells(endrow + 1, 1), ws2.Cells(endrow + 5, 7)).Value = ws1.Range(ws1.Cells(18, 2), ws1.Cells(22, 8)).Value

ひとまずエラー回避は上記で。
Cellsもシートごとに存在するので、アクティブシート以外の操作をするなら、シートを指定しましょう。

※ teratailで質問するとき、ソースはコードブロックを使っていただけると、見やすくて回答もつきやすいと思います。

投稿2021/06/15 16:40

crowmt

総合スコア402

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

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

zaki061

2021/06/16 14:26

丁寧に解説いただきありがとうございます。 無事エラー解消できました。 質問方法についてもアドバイスいただき幸甚です。
crowmt

2021/06/16 14:53

無事に解消できたようで何よりです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問