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

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

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

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

Q&A

1回答

584閲覧

Excel VBA で別シートに内容をコピーしたい

omutaro

総合スコア4

VBA

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

0グッド

3クリップ

投稿2020/03/18 05:28

Excel のマクロで以下操作を行いたいと考えています。

シート①
|列1|列2|列3|列4|列5|列6|列7|列8|列9|列10|列11|
|:--|:--:|--:||:--|:--:|--:|
|A|B|C|D|E|F|G|H|I|J|K|
|A'|B'|C'|D'|E'|F'|G'|H'|I'|J'|K'|

シート②
|列1|列2|列3|列4|列5|
|:--|:--:|--:||:--|
|A|B|C~D|E|I|
|A'|B'|C'~D'|E'|I'|

<前提>
シート①が記入シートで、人間が手で入力します。
シート②はシート①に手打ちで記入されたデータの参照シートになります。
シート①には列が11行ありますが、シート②に参照されるのはそのうち6列になります。
参照されるのは、記入されたA,B,C,D,E,Iになります。

<やりたいこと>
シート①で記入行が足りない場合、記入行の3行目以降を手動で行挿入し、記入します。
(シート①の2行目を手動で挿入し、A'~K'を記入するイメージ)
その際に、シート②についても自動で行挿入を行い、該当する列の情報を参照するようなマクロを組みたいと考えています。
(シート②のA',B',C'~D',E',I'を自動で参照する)

なお、挿入される行数は1行とは限らないため、仮に5行挿入された場合は、5行分参照されるように出来ればと思います。

どのように行えば良いか、ご教示頂けますと幸いです。
よろしくお願い致します。

なお、C,Dは実際は時刻を表しており、CDは開始時刻終了時刻となっているため1セルで2つを参照することとしていますが、
難しい場合はセルを分けて表示することも想定しています。

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

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

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

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

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

guest

回答1

0

  1. マクロの自動起動方法

シート①に行を挿入した際、自動でシート②に行を挿入するのは難しいと思います。
(ブックを開いた時や、ワークシートをマクロをアクティブにした時に自動でマクロを起動することはできるが、行を挿入した時に自動でマクロを起動する方法はネット上では見つからない。)
但し、あるワークシートをアクティブにしたとき、自動的にマクロを実行するという方法は以下にありました。
http://officetanaka.net/excel/vba/tips/tips86.htm
これでシート②をアクティブにしたときにマクロを起動すればいいでしょう。
2. 起動されるマクロの内容
単にシート①に記述された行だけ、シート②にコピーする(他シートのセルを参照する数式を埋めていく)だけでいいのでは?
列3についてもシート①の行数分だけfor文で以下の行を回せばいいと思います。
cells(i,3).formula="=シート①!C" & i & "~" & "シート①!D" & i

頑張ってください。

投稿2020/03/18 07:12

sage

総合スコア1240

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問