• 締切済み

EXCELのVBAで参照元のRangeのアドレスが知りたい

EXCELのVBAでCELLの参照元を知るにはどのようにしたら良いでしょうか。 例えばA1を参照している計算式の入ったCELLのRow、Columはどうしたら判るか。

みんなの回答

  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.1

同じシート内にかぎりますが Sub 参照元() MsgBox "アドレス:" & Range("A1").DirectDependents.Address MsgBox "行:" & Range("A1").DirectDependents.Row MsgBox "列:" & Range("A1").DirectDependents.Column End Sub Sub 参照先() MsgBox "アドレス:" & Range("A1").DirectPrecedents.Address MsgBox "行:" & Range("A1").DirectPrecedents.Row MsgBox "列:" & Range("A1").DirectPrecedents.Column End Sub でわかりますよ。

KamiHotoke
質問者

お礼

ご親切に、ありがとうございました。また、わからないことがありましたらよろしくお願いいたします。

関連するQ&A

  • 参照元を削除したい

    参照元シートのA列で参照先のA列を検索し、参照先に参照元の内容があれば参照元を行削除しようとしています。 現在下記ソースの状態ですが、参照元を削除するとSETで保持しているアドレスと実際削除するアドレスが違ってしまうようで正しく動作しません。 参照元と参照先の関係を逆にすれば意図することが実現できますが、データ数の関係でそれは考えていません。(参照元が500未満、参照先が数万) どうすれば参照元が削除可能になるでしょうか。 Sub DeleteRow() Dim 参照元 As Range Dim 検索CD As Variant Dim 最終行 As Integer Dim S As Variant Set 参照元 = Sheets("参照元").Range("A2:A" & Sheets("参照元").Range("A2").End(xlDown).Row) 最終行 = Sheets("参照先").Range("A3").End(xlDown).Row For Each S In 参照元 Set 検索CD = Sheets("参照先").Range("A4:A" & 最終行).Find(S) If Not 検索CD Is Nothing Then S.EntireRow.Delete End If Next S End Sub

  • Excel_VBAでセル参照式を変更するには?

    あるシートのA1セルに、他シートセルの参照式を入れたく思います。 シート名は固定ですが、セルは下・右に移動させるため変数としています。 例えば、Sheet_1シートA列のrow_1を1-10までDO文でまわす場合に、行も数字で表記されてしまうため下記では参照式が成立しません。  cell_formula = "Sheet_1!" & row_1 & col_1  ActiveCell.Value = "=" & cell_formula 上記だと「cell_formula = Sheet_1!11」となってしまい、希望する「Sheet_1!A1」とならないのでエラーとなります。 間に変換式を入れることで、「Sheet_1!A1」と変えられないでしょうか? 説明が悪いようでしたら補足しますので、よろしくお願い致します。

  • Excelで参照のセル値の変化でVBAを実行する

    Excelで別シートの値を参照しているセル値の変化でVBA実行イベントを起こすにはどういう方法があるのでしょうか。 例えばSheet1のA1は、Sheet2のA1の最初の4文字を参照にしているとします。この場合、Sheet1のA1の中は『=LEFT(Sheet2!A1,4)』です。 これでSheet1のA1の参照結果が変化すればVBAが実行される方法のアドバイスを頂きたいです。 調べて見たらSheet3を作業シートにして、Sheet3の方でSheet1のA1を参照にしてCalculate(シートが再計算された時に発生)イベントで実行するという一つの手を見つけましたが、他にもスマートな良い方法があるのか気になったので質問させてもらいました。よろしくお願いします。

  • ExcelのVBAによる参照設定について

    VBAによる参照設定について教えてください。 以前にOffice2010と2003の互換性の問題について教えていただいた際に、以下のようなやり方を教えていただき、AccessのVBAでExcelの参照設定はできたのですが、ExcelのVBAでAccessの参照設定をしようとした際に「Dim Ref As Reference」の部分が「ユーザー定義型は定義されていません」となってしまいコンパイルできません。Accessの参照設定にチェックを入れると問題ないので、Excelに「Reference」というデータ型が使えないのだと思うのですが、Excelではどのように書いたらよいのでしょうか? On Error GoTo Err_Rise Dim Ref As Reference Const strGUID As String = "{00020813-0000-0000-C000-000000000046}" 'Excelの参照設定をする場合 Const strGUID As String = "{4AFFC9A0-5F99-101B-AF4E-00AA003F0F07}" 'Accessの参照設定をする場合 Set Ref = References.AddFromGuid(strGUID, 1, 3) Set Ref = Nothing Err_Rise: If Err.Number = 32813 Then Resume Next End If On Error GoTo 0

  • Excel 参照範囲をVBAで設定について

    Excel 参照範囲をVBAで設定について win2000 Excel2000 VBAでOFFSETを使用して参照範囲を設定しようとするとダブルコーテーションがついてしまいうまくいきません Workbooks("Book1.xls").Names.Add Name :="AA", RefersToR1C1:="OFFSET(Sheet1!$A$2,0,0,COUNTA(Sheet1!$A:$A)-1,1)" (A列が可変なのOFFSETを使用しております) 解決方法をご存知の方ご教授お願い致します

  • EXCEL VBA Rangeについて

    プログラム初心者です。 EXCEL VBAに以下のようなRangeプロパティがあります。 CountNumは変数なのですが、 どのような内容を示しているのか分かりません。 教えていただけますでしょうか。 宜しくお願いします。 Worksheets("A情報").Range("C4:CS" & CountNum + 2)

  • Excel VBA Cells 絶対参照 書き方

    Excel VBAにてお尋ねいたします。 Excel VBAにてCellsを使用してセル範囲を指定させていただく際に、絶対参照($A$1:$E$10など)を使用する場合はどのように記述すればよろしいでしょうか? Cellsを使用するのは、セル範囲が毎回異なるため、範囲指定に変数を使用しているためです。 相対参照でしたら、Range(Cells(1,1),Cells(Rows<行番号の変数>,Cols<列番号の変数>))といった記述かと思いますが、絶対参照の場合はどのように記述すればよろしいでしょうか?

  • ExcelのVBAでRangeとCellsをWSHから使いたいのですが・・

    エクセルに書き込むマクロのコードを書いていたのですが、 Exl.range(Cells(1, 1), Cells(3, 4)).Font.Bold = True のような部分が、VisualBasic や OFFICEのVBA上で 参照設定でExcelを指定していると、動くのですが、 同じコードが、WSHでは参照設定ができないせいなのか、 動きません。WSHの場合、どのようにしたらよいのでしょうか。 よろしくお願いします。

  • エクセルSheetのTextBoxのTextを参照するには??

    エクセルSheetのTextBoxのTextを参照するには?? アクセス(v2010)のVBAで、エクセルファイルのSheet上の テキストボックスの文字列を設定・変更したいと思います。 Cellについては、objSheet.Range("M2").Value で できますが・・・・ ご教示ください。

  • ExcelでVBAで自動参照設定

    Excel VBAで参照設定をモジュールで行いたいのですが、 何かいい方法はありますか。 宜しくお願い致します。

専門家に質問してみよう