[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『書き方のルール』(しのみや)
VLOOKUPを自動化しようとして、マクロの記録を使っています
【やりたいこと】 I列に行挿入 → I列にVLookup → I列を選択しH列に値貼り付け → I列を削除
【実際の記録】 Columns("I:I").Select Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove Range("I1") = "項目"
Range("I2").Select ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-1],Table!R3C23:R7C24,2,0)" Range("I2").Select Selection.AutoFill Destination:=Range("I2:I00") Columns("I:I").Select Selection.Copy Columns("H:H").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Columns("I:I").Select Application.CutCopyMode = False Selection.Delete Shift:=xlToLeft Range("I1").Select
【気になること】 RangeとR1C1の書き方が混在するのですが、統一したほう良いのでしょうか
RangeとR1C1の違いをネットで調べてみたのですが、 Rangeはパッと見た時にセルの場所がわかりやすい R1C1は範囲指定の場合に使ったほうが便利とのこと たしかにそうだと思います。
ただ、混在しているのもどうなんだろう…?
後は、今後見やすいようにするために、Selectを削ったりしたほうがよいのか…
仕事で使っていますが、今までマクロの記録で勉強しながら作ったものがあり 書き方にルールがないので判断に迷っています
みなさまはどのように気を付けて書かれていらっしゃるのでしょうか…
< 使用 Excel:Excel2010、使用 OS:Windows10 >
(γ) 2020/09/08(火) 10:23
例えば、こうした書き方のほうが内容は把握し易いと思います。
Sub test() Columns("I").Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove Range("I1") = "項目" Range("I2").FormulaR1C1 = "=VLOOKUP(RC[-1],Table!R3C23:R7C24,2,0)" Range("I2").AutoFill Destination:=Range("I2:I00") Columns("I").Copy Columns("H").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, _ SkipBlanks:=False, Transpose:=False Application.CutCopyMode = False Columns("I").Delete Shift:=xlToLeft End Sub
(なお、コードの内容そのものにはノーコメントです。)
マクロ記録をそのまま使うことは稀と考えた方がよいでしょう。
(γ) 2020/09/08(火) 10:32
> RangeとR1C1の書き方が混在するのですが、統一したほう良いのでしょうか
ちょっとピンと来ないのですが、数式のA1方式とR1C1方式のことですか? そうだとすると、ご提示のコードでは混在していないと思うのですけども。
入力するセルの位置が決まっているなら、私は分かり易いと思うA1方式です。 セル位置が決まっていないなら、R1C1にならざるを得ないです。
>R1C1は範囲指定の場合に使ったほうが便利とのこと
これも私には分からない見解です。 どういう範囲指定の時に便利なのか、具体例で示していただけませんか?
> 見やすいようにするために、Selectを削ったりしたほうがよいのか… 見易さとは無関係に、Selectしないで済むものはSelectしない。
※よけいな動作をエクセルにやらせない。 完成するまで目で確かめたい、なんてニーズがある場合は別(開発途中なら可)。
(半平太) 2020/09/08(火) 10:34
yさんありがとうございます 記述のサンプルも頂まして、助かります 直しにかかっていたところで、同じように直せていたので このまま進めていきたいと思います
半平太さんありがとうございます すみません いろんな情報を拾って読んでいたので、混在しているようです
マクロをちょっとかじった状態で使っている人は、 マクロの記録のままという方もいらっしゃると思うのですが…^^; 見直していきたいと思います (しのみや) 2020/09/08(火) 10:54
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.