• ベストアンサー

Excel セルに名前

Excelの名前付けしたセルから列や行を+1したい場合はどのようにやれば良いのですか? 通常のセルなら分かるのですが、名前を付けたセルを動的に扱うにはどうすれば良いのでしょうか? すみませんが、助けて下さい。 よろしくお願いします。

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

  • ベストアンサー
  • keirika
  • ベストアンサー率42% (279/658)
回答No.6

No4です。 「あああ」のセル範囲が1つの場合は、お考えの通り Range("あああ").Offset(1, 0).Valueで値を取れるかと思います。 しかし、「あああ」のセル範囲が複数のセルから構成されている場合は 複数あるセルのどの部分と言う指定が必要になるかと思います。 例としましてA1:B2が範囲だと仮定しますと OFFSET(1,0)で範囲はA2:B3になります。 ここからA2の値を取り出すには Range("あああ").Offset(0, 1).Cells(1, 1).Value になります。 Cells(行,列)の値を変化させることにより、取り出すセルを変更できます。 つたない説明になりましたが、お役に立てれば幸いです。

Mark0817
質問者

お礼

ありがとうございます。 回答大変参考になりました。 助かりました~。 ありがとうございました。

その他の回答 (6)

  • keirika
  • ベストアンサー率42% (279/658)
回答No.7

NO4です。 申し訳ありません。訂正です。 Range("あああ").Offset(0, 1).Cells(1, 1).Value と書きましたが 正しくはRange("あああ").Offset(1, 0).Cells(1, 1).Value です。 よろしく御願いします。 

Mark0817
質問者

お礼

valueで値が取れました。 重ね重ねありがとうございました。

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.5

ctrl+F3キー同時押下→名前を選択→参照範囲欄の参照式が絶対参照となっていると思いますので、列・行の$を削除してお試し下さい。

Mark0817
質問者

お礼

ありがとうございます。 私の説明が悪かったです。 関数ではなく、VBAのレベルの話でした。

  • keirika
  • ベストアンサー率42% (279/658)
回答No.4

セル範囲に「あああ」と名前を付けたとします。 行+1の場合 Range("あああ").Offset(1, 0).Select 列+1の場合 Range("あああ").Offset(0, 1).Select です。

Mark0817
質問者

お礼

keirikaさん、ありがとうございます。 できました。 が、移動先の値がとれません。 セル範囲に「あああ」の名前の位置→セルの列を1つ移動 そこのセルの値を取得したいのですが、できません。 単純にRange("あああ").Offset(1, 0).Valueかと思いましたができず・・・。 すみませんが、ご伝授お願い致します。

  • FEX2053
  • ベストアンサー率37% (7991/21371)
回答No.3

名前をつけたセルは「ドラッグ&ドロップ」や「範囲の変更」で 動かすことが出来ますし、切り取りや行列の挿入でも動きますが・・・。 「動的」というのがどういうコトかよく分からないんですけど、 名前をつけたセルは勝手に動くと困るので、上記のように明示的に しか動かすことは出来ません。コピーなどでは動かないのです。

Mark0817
質問者

お礼

ありがとうございます。 私の説明不足でした。 名前を付けたセルを最初指定して、そこから、アクティブなセルを動かしたかったのです。

  • FEX2053
  • ベストアンサー率37% (7991/21371)
回答No.2

名前をつけたセルを「動かす」ことは出来ません。 一旦削除して付け直しになります。 ただ、関数などで名前をつけたセルを基準に例えば =OFFSET(YAMADA,1,2) などと参照することは出来ますが。

Mark0817
質問者

お礼

ありがとうございます。 私の質問の内容が悪かったですね。 名前を付けたセル自体は動かしません。 アクティブなセルを動かすという意味です。 でもOFFSETであってましたけど、関数ではなくVBAです。

回答No.1

挿入メニューから名前→定義→範囲の変更で出来たと思います。

Mark0817
質問者

お礼

ありがとうございます。 VBAでの回答が欲しかったです。

関連するQ&A