Home >> ヒント・サンプル集 >> プログラムサンプル >> (VBA(Excel)[関数] 指定したセル/シートの内容を取得する

<VBA(Excel)> [関数] 指定したセル/シートの内容を取得する
先日兄から『シート名を指定したら、表の内容がそのシートを元にした表に変わるようにしたい』 というリクエストがありました。 大した関数ではありませんが、確かに有用ですね

Function xRef(SheetName As String, CellName As String)
    xRef = Worksheets(SheetName).Range(CellName)
End Function

 Function zRef(SheetName As String, CellName As Range)
    zRef = Worksheets(SheetName).Range(CellName.Address)
End Function
上・・セルの名前を文字列で渡す ”b2"など
下・・セルの名前をセルで渡す  -->コピーしたときにアドレスも自動変更されるので便利です 

上記コードをModuleに貼り付けます。このとき、”Excelオブジェクト”ではなく、”モジュール”内のモジュールに貼り付けます

【引数】1.シート名、2.セル(上はセル名、下はセル)

【サンプル】
上・・・=xRef("Sheet1","B2")
下・・・=zRef("Sheet1",C2)

セルのどこかに参照するシート名の入力セルを用意して、
=xref($A$1,"B2") などと利用すると良いでしょう

サンプルzRefは、そのセルをコピー&ペーストしたときに元のセルの内容も変わりますので、必要に応じて使い分けてください

【特記事項】特になし

  お気軽にご相談ください お問合せ・ご相談はこちら お問合せ・ご相談はこちら  
更新日:2017/02/20 16:45