※ 本記事にはプロモーション広告が含まれます

マクロの記録ができない!【横に長すぎるexcelを転記したい】スクロールがダメ?

macro-record-not-scroll-00-01

課題は、右にも下にも長い、でっかいexcelシートの数字を拾う繰り返し作業

 

「マクロの記録」は簡単だよ。覚えて損はない。

マクロ教育に熱心な上司から転記作業を任され、さっそく記録。

はじめ
・・・動きませんでした

自分なりに見つけた解決策はこちら。

私が解決した方法

・「スクロールバー」を使った操作は記録されない

⇒「マクロの記録」では、スクロールバーを使わず、セル上を「→」矢印キーで動かしながらセル移動します。

・マクロを「実行」する際、いつも同じセルを選択してスタートさせる。

⇒スタートはいつも「同じ見た目」「同じ状態」にしておきます。今回は2つのファイルを開いておいて、どちらも「記録した時と同じセルを選択した状態」で「実行」をクリックします。

はじめ
これ、もっと良い方法ありそうですよね・・・!?

だがしかし初心者の理解は深まったので、私のミスを再現、解決策とともにご紹介します。

「マクロの記録」ができない ⇒理由はスクロールバー操作?

他部署からいただいたexcelが横長

別部署が管理する表から、私の部署が欲しいデータを抜き取り、毎月まとめます。(画像は説明用のイメージです。実際は全然違う)

横に長いので、スクロールしないとお目当てのセルが出てこない。

macro-record-not-scroll

例として、2020年4月、2021年4月、2022年4月、それぞれの年数の「タヌキ部閲覧数」を抜き出す、とします。

一時的な貼り付け先として、下の画像右のような欄を作りました。お目当てのセルをコピーして、データにまとめます。転記先が「別のexcelファイル」ということですね。

macro-record-not-scroll

「繰り返し」の転記作業→「マクロの記録」を覚えたい

転記元と転記先のファイルを開いておきます。説明画像では左右に配置 (windows + →)。

「開発」タブ→「マクロの記録」→「マクロ名」を入力(例:tanuki)→「OK」

例:左のファイルのC7セルをクリックし、ctrl+C、右のファイルのC4セルをクリック、貼り付ける(値貼り付け)(※ctrl+v でも可)

macro-record-not-scroll

同様に、2021年4月をコピーして貼り付ける。スクロールして2021年4月を表示させました。

macro-record-not-scroll

2022年4月も同様。繰り返し作業

macro-record-not-scroll

「マクロの記録」を終了します。

記録できているか確認します。セルの数値を削除して、「tanuki」マクロを実行します。

macro-record-not-scroll

なんということでしょう。2020年4月、しか数値が入ってません。

macro-record-not-scroll

何度やってもダメ。丁寧にやってもダメ。・・・悩んでしまいました。3日間ググりました。

はじめ
会社様、こんな私にお給料をありがとう

「セル移動」で再び、「マクロの記録」を行う

1セル目の操作は同じ。コピー&ペーストです。ただし、事前準備は変えて「右ファイルのカーソルはC4セルを選択した状態」で、マクロの記録をスタートさせました。(後述します)

macro-record-not-scroll

続いて、スクロールするのをやめ、選択したセルを「→」で動かし2021年4月を表示させて、コピー&ペーストしました。

macro-record-not-scroll

同様に、スクロールはせず、セル移動します。

macro-record-not-scroll

「記録した時と同じ状態」でマクロを動かす

それまでは、選択したセルがどこにあるのか、気にせずにマクロの「実行」ボタンを押していました。

macro-record-not-scroll

今回は「見た目」を同じにしました。

macro-record-not-scroll

ということで、「実行」します

macro-record-not-scroll

まとめ

「マクロの記録」は奥が深いですね。

・スクロールバーは使わない

・記録した時と、スタート位置は同じにする

私の実務としては、受け取るファイルのセル位置が毎回違うから、マクロは意味ないんじゃないか・・・という雲行きになってます。

PRリンク