• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Excel2007です。下記のように、テーブル1があります。)

Excel2007でマクロを使って特定の行の特定の列を選択する方法

このQ&Aのポイント
  • Excel2007でマクロを使って特定の行の特定の列を選択する方法について教えてください。
  • 質問者は、テーブル1の特定の行の特定の列を選択したいと考えています。試しに行を固定してコードを実行したところ、エラーが発生しました。
  • 質問者は、[#This Row]という指定方法についても疑問を持っています。どのように使用するのか教えてください。

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

  • ベストアンサー
  • myRange
  • ベストアンサー率71% (339/472)
回答No.2

テーブルを使ったことはないの何ですが、 ヘルプなどをチラッと眺めてみると [#ThisRow]はVBAでいうところのActiveCellとは違うようです。   試しに、セルに[#ThisRow]を使った参照式を入力してみてください。 (例えば、【行2】と【列3】の交点の値(6)を取得する参照式) 当方の言わんとしていることが分かると思います。   ------------------------------------------------ 【結論】 [#ThisRow]は手動で参照式を入力するセルの行のことなので それを表す方法のないVBAでは使用できない ------------------------------------------------   それを踏まえて、、、 >データの行を選択するのは、見出し名を使うやり方はできないんでしょうか   見出し名を使うとしたら部分的使用になるでしょう 例えば、   >Range("テーブル1[[#This Row],[列1]:[列3]]").Select   Intersect(ActiveCell.EntireRow, Range("テーブル1[[列1]:[列3]]")).Select       ●あくまでもこれはヘルプなどからの当方の理解ですので参考程度ということで。。。 以上です。  

kkk1002
質問者

お礼

ご回答ありがとうございます。

その他の回答 (1)

  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.1

>[#This Row]というのはどのような使い方をするものなのでしょうか エクセルのVBAでは使いませんね。 ActiveCell.Row のことでしょうかね。 テーブル1とはシート名でしょうか であれば Sheets("テーブル1").Range("B" & ActiveCell.Row & ",D" & ActiveCell.Row).Select とか Range("B" & ActiveCell.Row & ",D" & ActiveCell.Row).Select だけでも? http://excelvba.pc-users.net/fol2/2_1.html 等が参考になるかと思います。

kkk1002
質問者

補足

ご回答ありがとうございます。 >テーブル1とはシート名でしょうか デザインリボンのプロパティのテーブル名に「テーブル1」と表示されているので、 テーブル1はテーブルのはずですが。 Range("テーブル1[[#Headers],[列1]:[列3]]").Select このようなコードなら、問題なく、見出し部分(列1・列2・列3)が選択されるんです。 見出し部分ではなくて、データの行を選択するのは、見出し名を使うやり方ではできないんでしょうか。

関連するQ&A

専門家に質問してみよう