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

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

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

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

Q&A

解決済

2回答

1271閲覧

VBA シートの指定範囲の操作を別シートに連動させる

321Kurumins

総合スコア18

VBA

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

0グッド

0クリップ

投稿2021/04/22 05:51

編集2021/04/22 07:56

シート1にはA列からW列まで値や数式が入力されています。
そのシート1のA5からK91までの操作すべてをシート2に連動させたいです。
シート1の操作はセルの値を変えたり行を追加・削除したりなどがあります。
いいやり方があれば教えてください。
初心者なのでサンプルコードを教えていただけたら助かります。

追記
連動しなくても作業終了時に反映で大丈夫です。
列はA~Kで変わりませんが、行は5~何行になるかわかりません。
最終行のK列に合計という文字が入力されていますのでその行を最終行とします。
現状下記のコードでうまくいってません。

Sub 貼り付け() Dim r As Long r = Sheet(1).Columns(4).Find(What:="合 計", LookAt:=xlPart).Row Range("A6", "Kr").Copy Sheets(5).Range("A4").Select ActiveSheets.Paste End Sub

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

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

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

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

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

yo_u

2021/04/22 05:57

まず、それはリアルタイムで連動しなければいけないのですか? 一通りの作業が終わった後にそれがシート2に反映されるのではだめなのですか? 行の追加や削除したときにA5~K91の範囲は変わるのですか?
321Kurumins

2021/04/22 06:05

連動でなくても大丈夫です。作業終了時に反映で問題ありません。 行の追加や削除で範囲は変わります。 列はA~Kで変わりないですが行は5~??となっています。
yo_u

2021/04/22 06:08

A~K以外はシート1とシート2で違い、 その部分は変わらないようにするということなのでしょうか? 情報だけだと、シートのコピーするのが一番早い気がするのですが。
321Kurumins

2021/04/22 06:16

コピペが一番早いですかね。 Excelに慣れてない方が使うのでなるべく簡単にしようと思っていたので いろいろ思考錯誤していました。
yo_u

2021/04/22 06:25

あくまで見えている情報だけではという意味です。 もう少し具体的な情報があればよい方法はあるかもしれません。 数式が入っているものをいじったり、 行の追加や削除の操作をできるレベルの人が使うのであれば、 シートのコピーくらいの操作はできるかなと思うのですが、 使う人のレベルの見極めも必要なのかなと。
321Kurumins

2021/04/22 06:55

情報が不足していて申し訳ないです。
yo_u

2021/04/22 07:17

自分で作れないくらいの初心者なら、 差しさわりのない範囲でやりたいことをできるだけ詳しく、 (ここでは丸投げだと嫌われる可能性は高いですが) 自分である程度やってみているのなら やってみたソースなどを載せるとよい回答がつくかもですね。
guest

回答2

0

ベストアンサー

たとえばこんな感じでどうでしょう。

VBA

1 Dim moto As Worksheet, saki As Worksheet 2 Set moto = Sheets("Sheet1") 3 Set saki = Sheets("Sheet2") 4 5 Dim lastRow As Long 6 lastRow = moto.Range("D:D").Find(What:="合 計", LookAt:=xlPart).Row 7 8 moto.Range("A5:K" & lastRow).Copy Destination:=saki.Range("A5") 9 10

投稿2021/04/22 09:39

jinoji

総合スコア4592

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

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

321Kurumins

2021/04/22 23:15

いつもありがとうございます。 助かりました!
guest

0

いろいろ気になる部分はありますが。。。
とりあえず動かんだろう部分を修正。

vba

1Dim r As Long 2 3Sheets(1).Columns(4).Select 4r = Sheets(1).Columns(4).Find(What:="合 計", LookAt:=xlPart).Row 5Range("A6", "K" & r).Select 6Range("A6", "K" & r).Copy 7Sheets(5).Select 8Range("A4").Select 9Range("A4").PasteSpecial Paste:=xlPasteAll 10

私はわからん時は、一個一個やることを上記のように分離して書いてみます。
あとは頑張ってみてください。

投稿2021/04/22 08:20

yo_u

総合スコア95

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

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

321Kurumins

2021/04/22 23:14

回答ありがとうございます。 分離して書くとわかりやすいです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問