No.2ベストアンサー
- 回答日時:
最初に、こういう話は、関係ないと言う人もいるかもしれませんが、A1方式とR1C1方式とは、開発の時期は別で、当初、Lotus1-2-3(ViciCalc)をみて、Microsoft は一部は真似たようですが、Mac用で、C.シモニーが開発した時には、R1C1方式しかなかったのです。
その後、Lotus1-2-3ユーザーを取り込むために、A1方式を採用しました。本来は、マクロでは、R1C1の仕様のほうが、その考え方を理解すると使いやすいのですし、VBAでは、機能的には、R1C1方式のほうに軍配が上がります。しかし、ワークシート上では、R1C1方式は、常に起点になる場所をまず決めない見えてこないのです。
以下の場合は、合っているとも間違っているとも言えません。R1C1とA1方式では考え方が違うからです。
>ActiveCell.FormulaR1C1 = "=SUM(R[-6]C:R[-1]C)"
> ↓
>ActiveCell.Formula = "=SUM(A1:A6)"
もし、マクロを書くなら、絶対参照と相対参照を組み合わせて、このように書きます。
Range("A6").FormulaLocal ="=SUM(R1C1:R[-1]C)"
それに、FormulaR1C1は、ほとんど使うことはありません。FormulaLocalは、互換モードでもあるので、A1方式もR1C1方式も入力が可能です。
Formulaの中では、FormulaLocal が一番使いやすいかと思います。いわゆる、Localの関数としては、JIS関数などがあります。
VBAプログラムを組むのでしたら、全体的には、記録マクロは、あまり依存しないほうが上達が早いはずですが、数式については、あまり深く考えないほうがよいです。R1C1でも、A1方式で、どちらでもよいのですが、なるべく数式入力のコードは置かないほうが良いようです。=
VBA側のモードにもよりますが、ふつう、その数式の監視がなされてしまいますので、メモリに負担になりますから、一般的なマクロにするか、WorksheetFunction.Sum のようにしたほうが負担は少ないようです。
入門レベルで分からない部分は、CellsとRange, WorksheetとSheet, WindowとWorkbookなど、オブジェクトとして似ているものが多いので、分かりにくいと思います。こういう場合は、片方が必ず優先し、同位ではないのですが、同じように書かれてある教本は読まないことです。同位で覚えればよいと思ったら、半永久的に覚えられません。
ちなみに、Range, Worksheet, Workbook が優先します。Cells に関しては、ループなどでは、カウンターを代入しやすいのですが、多くの人は、A1方式に慣れているので、Range方式のほうが使いやすいのです。
No.1
- 回答日時:
もん1冊読んだくらいでは当たり前。
それよりGoogleで「マクロの記録 R1C1」などで照会し
http://officetanaka.net/excel/vba/tips/tips106.htm
などを読んでから質問しては。
ほか
ーー
使うほうからは
Formulaで良いと思うが特殊例で
FormulaLocal
FormulaR1C1
FormulaR1C1Local
などのプロパティを勉強し調べる手見たら。
実際はR1C1形式を気にしなくても良いと思う。もっと別に勉強することが沢山在る。
Microsoftは歴史的に自社創始のR1C1方式に思い入れがあり残しているようだが、普通はA1形式を使うと思う。
http://detail.chiebukuro.yahoo.co.jp/qa/question …
の
「ツール]→[オプション]→[全般]タブにて「R1C1参照形式を使用する」のチェックを外す、もやってみてください。
左右できないはず。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 現在のセルの文字列を右隣のセルの名前にするマクロをつくりたい 4 2023/01/12 09:01
- Visual Basic(VBA) VBA 登録ボタンを省略してエンターキーで作業 4 2022/07/09 22:29
- Excel(エクセル) ランダムで四択の問題を作る場合にvbaで何を学べばいいでしょうか。 1 2022/04/14 16:45
- Excel(エクセル) VBAで「クエリと接続」の画面を出せますか? 2 2022/10/24 13:35
- Excel(エクセル) 表示形式、文字列セル(列)に数式を入力するには マクロ 1 2022/09/18 10:53
- Excel(エクセル) 【Excel】指定のセル内容を基に別シートのセルを検索して選択する【VBA】 1 2022/06/16 16:16
- Excel(エクセル) vba コンパイル 4 2022/10/27 10:01
- Excel(エクセル) Excelのマクロで、特定のセルから順番に値を取得したい 5 2022/12/06 15:34
- Excel(エクセル) Excel使用前提 同じフォルダ内にあるファイルの集約等をマクロでできますか 4 2022/09/06 19:03
- Excel(エクセル) 【マクロ】プリントスクリーンした画像をエクセルに貼付して印刷したい 6 2022/11/30 20:11
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel マクロの編集がグレーに...
-
WPSOffice_マクロの有効化について
-
エクセルの表を複数枚印刷した...
-
Excelのマクロでボタンを押すと...
-
エクセル ボタンに設定したマク...
-
エクセルで、「いいね」のよう...
-
複数のマクロボタンをまとめて...
-
エクセルの、記録を終了したマ...
-
エクセル マクロ名にブック名...
-
エクセルでマクロ(Excel 4.0)...
-
エクセルマクロで、別のブック...
-
マクロをマクロを使ってコピー...
-
別シートのマクロボタンをマク...
-
Word-VBAで文字色を一括置換し...
-
実行時エラー1004が出たり出な...
-
Excelマクロをバックグラウンド...
-
Excelマクロで、稼働中のマクロ...
-
Excel:マクロを消す方法教えて...
-
Outlookにマクロの記録はないの...
-
EXCELをTEXTに一括変換出来ませ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel マクロの編集がグレーに...
-
WPSOffice_マクロの有効化について
-
Excelのマクロでボタンを押すと...
-
エクセルで、「いいね」のよう...
-
エクセル マクロ名にブック名...
-
エクセル ボタンに設定したマク...
-
エクセルの、記録を終了したマ...
-
エクセルの表を複数枚印刷した...
-
複数のマクロボタンをまとめて...
-
エクセルマクロで、別のブック...
-
Excelマクロで、稼働中のマクロ...
-
エクセルでマクロ(Excel 4.0)...
-
別シートのマクロボタンをマク...
-
(Excel VBA)シートコピー時マ...
-
Excel:マクロを消す方法教えて...
-
マクロ実行ボタンを自動削除したい
-
EXCELのマクロが他のパソコンで...
-
Excelのマクロ名の並び順の法則...
-
マクロをマクロを使ってコピー...
-
Excelマクロをバックグラウンド...
おすすめ情報