• ベストアンサー

Excelのマクロで数式の一部だけ絶対参照にするマクロ

いつもお世話になっております、Excelマクロ初心者です。 Excel2002ですが、マクロで数式全体を絶対参照にするマクロまではわかるのですが、 A1+B1といった数式の右だけを絶対参照にしたい場合、 どうVBをいじればいいのでしょうか? よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.1

絶対参照や相対参照が生きてくるのは、手操作で、セルに 関数式を複写すると時だと思う。 VBAでは式の複写の考え方法は採らないと思う。 A1はCell(1,"A")で表しています。 行だけを変化させたいならCells(i,"A")を使い、変数iを 変化させます。 列だけを変化させたいならCells(1,j)を使い、変数jを 変化させます。 行列両方ならCells(i,j)の変数i,jを変化させて指定します。 だから、質問のような悩みは持ったことなし。 Cells(1, 1).Formula = "=B1+1" とかも可能なのでその時は複数セルに入れるために 行か列を変化させたり、固定させたりしたいこともおこるかも知れないが、この方法はコードが長くなるから使わない。

関連するQ&A

  • エクセルのマクロの相対参照と絶対参照の併用

    いつもお世話になっております。 マクロ初心者です。(エクセル2010) 毎日更新されるデータがあり、これを特定の場所(I2-I7)に縦に集めた表が有ります。 A列には下方向に日付が入るとして、 これをコピーして、行方向(B1-G1)に貼り付ける作業をマクロの記録でやろうとしたのですが、コピーを取る場所の固定はマクロ編集で、絶対番地($j$7-$j$17)に変更すればできるのですが、貼り付ける行が毎日下にずれていくのでうまく行きません。 全てを相対参照で記録すると、日付けと一緒にコピー元の参照セルも下にずれていってしまいます。 どうすれば良いか教えてください。

  • マクロの相対参照、絶対参照

    マクロを使い始めたばかりなんですけど 相対参照と絶対参照で困ってます 任意のセル(A1とする)を選択しておいてマクロの開始 B1のセルをコピー 最初のセル(A1)に貼り付け としたいんですけど B1のセルをコピー、を絶対参照にして 最初のセル(A1)に貼り付け、を相対参照にしてマクロに記録しました そのマクロをC1で使うと A1のセルにB1のセルを貼り付けてしまいます C1でマクロを使えばB1のセルをC1に貼り付けるようにはどうすればいいのでしょう 分かりにくい説明で申し訳ありません

  • Excelの絶対参照について

    Excelの絶対参照、相対参照について Excelの絶対参照について教えていただきたいです。 データの引用元(もしくは参照元)のシートで、一行増やしたり、一列減らしたりと編集を行ったときに、 引用先シートではズレることなく順応しているようにしたいです。 (例) 引用先(Aシート)    引用元(Bシート) A2='Bシート'!B2 B2 A3='Bシート'!B3 B3 A4='Bシート'!B4 B4 ↓ 引用先(Aシート)    引用元(Bシート) A2='Bシート'!B2 B2 A3='Bシート'!B4 B3←一行増やした A4='Bシート'!B5 B4   B5 このようにする場合は、$の絶対参照を引用先のAシートの各セルに付けておくのでしょうか。 それとも別に絶対参照を付ける必要はないのでしょうか。 質問内容が分かりにくくて申し訳ありません。 別ファイルや、別タブからデータを引用することが多いのですが、そのときに引用先では絶対参照を使った方がいい時と、使う必要はない時との違いが分からなくて……。 浅学でお恥ずかしい限りですが、ご教授願えればと思います。 よろしくお願いいたします。

  • エクセルで絶対参照の数式を入力する手順を教えてください

    エクセル(2003)の絶対参照の数式を入力する手順を教えてください。私の参考書には紛らわしい書き方をしているので、正しい結果がでないのです。

  • エクセルのマクロでセルに数式を入れる場合で絶対参照の中に【""】を使いたい。

    エクセルのマクロで、セルに数式を入れようとしてます。 数値を入れる場合はValue、数式を入れる場合はFormulaになると思うのですが、以下のように Range("A1").Formula = "=IF(A2=1,1,0)" とすれば問題ないのですが、 Range("A1").Formula = "=IF(A2=1,"○","×")" とした場合は、○の前のダブルクォーテーションを認識してしまうのか、実行エラーが出てしまいます。 こういう時は、どうすればうまく行きますか?

  • エクセルで絶対参照を含む表をコピーするときに

    お世話になります。 エクセルでまず絶対参照を含む数式の入った表を作りました。その形式の表をいくつかコピーして何段か作成したいのですが、コピーして張り付けるとその数式の部分の絶対参照はコピー元の絶対参照の部分になります。(当然と言えばそうなのですが) やりたいことは、コピーした表の絶対参照の部分はコピー後の表における絶対参照されるセルの部分にしたいのです。つまり表としての構成が同じものということでコピーしたいのです。(今のままだとコピー後に結局数式の絶対参照部分を打ち直すことになるのです) これをうまくコピーする方法はありませんでしょうか。 どうかよろしくお願いいたします。

  • エクセルの絶対参照について

    エクセルの絶対参照について エクセルを使っていてふと思ったんですけど、 絶対参照って$A$1とか書きますよね。 それで$A1とか書けば、A行だけ絶対になるのかなと思いました。 この考え方は合っていますでしょうか。 仮に合っていたとして、使い道がイメージできません。 どうやって使うのでしょうか。

  • エクセルのマクロ絶対参照と相対参照の指定方法

    私は、エクセルでマクロ自動記録を勉強しはじめたものです。 エクセル2000の参考書で絶対参照と相対参照の指定方法の説明をみると、 「マクロの記録中に表示される<記録終了>ツールバーの<相対参照>ボタンで切り替えます。 このボタンをくぼんでいない状態にすると絶対参照、クリックしてくぼんだ状態にすると相対参照で記録されます。」 以上のように解説されているのですが、実際に試してみると、 ステップ1. ツールバー→マクロ→新しいマクロの記録→マクロ名とショートカットキー入力→OK ステップ2.操作どうりに自動的にマクロが記入される。 ステップ3.ツールバー→マクロ→マクロの終了→クリック ステップ4.絶対参照のマクロが登録されてしまいます。 絶対・相対参照の切り替えステップをが見つけることが出来なくて困っています。 過去カテによれば マクロの記録時に「操作終了」というツールボックスが表示されますよね? 2つあるボタンのうちの右側のボタンが相対参照と絶対参照を切り替えるためのボタンになっています. もしも「操作終了」のボタンが表示されないのであれば,一度ダミーでマクロの記録を実行して,記録中にメニューの下の空白部分(灰色の部分)を右クリックし,「記録終了」をチェックすると,ツールボックスが表示されるようになります。 これも試しましたが、マクロの記録時に「操作終了」も 記録中にメニューの下の空白部分(灰色の部分)も見付ける事が出来ません。 WindowsMe Office2000Personalに於いては、絶対・相対参照の切り替えは不可能なのでしょうか? 可能なら絶対・相対参照の切り替えボタンを表示させる方法を教えて頂きたいと思います、よろしくお願いします。

  • 【エクセルの数式を教えて下さい】

    【エクセルの数式を教えて下さい】 エクセルで、A列を参照して、B列に次のように反映させたいです: A列 A1 apple A2 a banana A3 a cup of tea B列 B1 a B2 b B3 c スペースを含まない文字列の場合は、最初の一文字を、スペースを含む文字列の場合は、最初のスペースの次の一文字を返す数式を作りたいのです。 countif や find を使って作れるかと思ったのですが、自分のレベルではダメでした。 関数が出来る方、教えて頂けますか? よろしくお願い致します。

  • エクセル マクロ アクティブセル領域を移動させたい

    いつもお世話になっております。 当方マクロ超初心者です。 アクティブセルの大きさは変えずに、 範囲だけを移動させるマクロがつくりたいです。 例えば A1 B1 A2 B2 A3 B3 の6つのセルがアクティブの時に実行すると B3 C3 B4 C4 B5 C5 がアクティブになるマクロを作りたいです。 (この場合だとアクティブセルが 右へ2つ、下へ1つ移動したイメージ) 何卒よろしくお願いいたします。

専門家に質問してみよう