不等号ナンプレ宣伝隊

写真付きで日記や趣味を書くならgooブログ

久しぶりの会心作

2023-04-29 12:44:35 | 本来業務

久しぶりに会心の macro が書けたので、誰の得にもならないと知りつつ

自己満足を抑えることができずに、blog にアップすることにした。

sheet2 と sheet8 を行ったり来たりしながら、とあるデータの山をいじくり

まわしている。1070個とかあるデータから500個を抜き出し、抽出した

データをもとに版下データを print out する予定なんだが、macro を

使わないでやってた作業が、

sheet8 のとあるセルの数値を sheet2 の X列で探し、それを起点にした

8*9マスのデータを sheet2 の L列に順にコピペしていく。ただしコピーの

前にさっき参照した sheet8 のセルの4つ右にあるセルのデータをコピペ

したいエリアの右下に書き込む。コピペの後にエリアの左下2マスには前回の

処理で記録されている書式をコピーする。さらに次回検索するデータを

適当な場所に張り付けておく、というややこしくて、ミスを誘発する手順。

これが Macro のお世話になると、1分以上かかっていた作業がものの10秒。

試行錯誤の結果、まあまあ満足のいくものが出来た。使い方は、

1.検索のダイアグラムの入力欄をダブルクリックする。

(クリックだけではデータを書き足すので、ダブルクリックは必須。)

2.さっき適当なところに張り付けておいたデータがクリップボードに残って

いるので、それをペースト。

3.X列を指定して検索。

X列のデータがシリアルナンバーと時間データが混在しているため、

検索結果を判断しながら、ターゲットのセルを決める。

4.あとは ctrl+q(ショートカットキー)でMacro が走りだす。

問題は、これを500回やらねばならないこと。世の中、GWってんで浮かれ

てるようですが、きっといつか飯のタネになるんだと信じて、飽きずに

コツコツと進めなければならない。え、進捗状況ですか?。現在153/500です。

本日のマクロ

Sub Macro5()
'
' Macro5 Macro
'
' Keyboard Shortcut: Ctrl+w
'
    Sheets("Sheet8").Select
    ActiveCell.Offset(0, 4).Select
    Selection.Copy
    Sheets("Sheet2").Select
    ActiveCell.Offset(8, 5).Select
    ActiveSheet.Paste
    ActiveCell.Offset(-8, -5).Select
    Selection.Range("a1:i9").Select
    Selection.Copy
    Range("l5071").Select
    Selection.End(xlUp).Select
    Selection.Offset(3, 0).Select
    ActiveSheet.Paste
    Selection.Offset(-4, 0).Select
    Selection.Range("a1:a2").Select
    Selection.Copy
    Selection.Offset(10, 0).Select
    ActiveSheet.Paste
    Sheets("Sheet8").Select
    ActiveCell.Offset(1, -4).Select
    Selection.Copy
    Sheets("Sheet2").Select
    ActiveCell.Offset(1, 22).Select
    ActiveSheet.Paste  

End Sub


最新の画像もっと見る

コメントを投稿