• ベストアンサー

Excel VBA ワークシートに貼られたボタン名(Caption)をセルの値から取得するには

ご教授お願いいたします。 Excel2002のワークシート上にボタンを配置しています。 セル(例えばA6)の値を取得して,配置しているボタン名にすることはできますでしょうか。 初歩的な質問だと思うのですが,よろしくお願いいたします。

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

  • ベストアンサー
  • Xen
  • ベストアンサー率75% (15/20)
回答No.1

値が変わったら自動的に変更したいのならチェンジイベントですね。 Private Sub Worksheet_Change(ByVal Target As Range)  If Target.Address = "$A$6" Then   Me.CommandButton1.Caption = Target.Text  End If End Sub

関連するQ&A

  • EXCELのワークシート名とセルの値の取得に付いて

    EXCEL2000を使用しておりますが、ワークシート名と、そのシート内の複数のセルの値を取得し、別シートにマトリックス表示出来るように 入力フォームを設計したいのですが、固定の名称を予め組み込むのではなくフォーム上で入力したテキストをワークシート名及び、セルの位置として扱えるようにするのには、どのようなマクロを書けばよいでしょうか?例えばシート名A~Fの各シートのA1~F1のセルに10~15の数値が 入っていて、Gのシートでマクロを動かすと、シート名とセルの位置を 入力するフォームが現れ、それぞれ入力すると、指定されたシート名と セルの中の値が、Gシートに、1行ずつ追加されて行く処理をイメージ しています。何卒、宜しくご指導の程、お願いいたします。

  • EXCELでワークシートを検索して値を返したい。

    こんばんは。 いろいろ調べてみたのですが、わからなかったので質問させていただきます。 EXCELで「111」「222」「333」「444」「555」という五つのワークシート名を持つブックがあります。 「111」のシートのセル"A1"に,"222"と入力すると、隣のセル"A2"にシート「222」の特定のセルの値(例えばC20のセルの値)を返し、セル"A1"に「555」と入力するとセル"A2"にシート「555」の特定のセルの値を返すといったものを作るには、どうしたらいいんでしょうか? できれば関数だけで作りたいのですが、もしむりならマクロではどういうコードになるのでしょうか? よろしくお願いします。

  • Excelのマクロを使ってワークシート1にワークシート2のセルの値をコ

    Excelのマクロを使ってワークシート1にワークシート2のセルの値をコピーするマクロを作りたいと思っています。 例えば、ワークシート2のA1~A30のセルには1~30の値が順に入っているとします。 それをA1から3の倍数分、つまりA1,A3,A6,A9,・・・,A27,A30の値を ワークシート1のA1~A11のセルに自動で挿入してくれるマクロってどう作ればいいのでしょうか? わかりにくいかもしれませんが、よろしくお願いします。

  • エクセルで、ワークシート名をセルから参照する

    エクセルで、ワークシート名をセルに表示する方法は書いてありますが、セルの値をワークシート名とするにはどうしたらいいでしょうか。 つまり、 「ワークシート名 → セル」 ではなく、 「セルの値 → ワークシート名」 ということです。 現状、会社が変わると決算期が変わるため、決算期を変更する度にワークシート名を変えていますが、変わった都度ワークシート名を手で変更するのは手間が掛っています。 具体的には、例えば、 3月決算の会社のファイルは、4月シート、5月シート・・・ 12月決算の会社は、1月シート、2月シート・・・ のようにシート名を変えています。 そのため、セルに決算期を入力すると、自動で各ワークシート名も変更するようにしたいのですが、どうしたらいいでしょうか。 そういう関数はないようですし、マクロ・VBAの本等を見ても、よくわかりません。 宜しくお願い致します。

  • エクセルでシート名をセルに複写(リンク)する方法

    いつも参考にさせていただいております。 さて、エクセルのワークシート名を取得して 特定のセル(例えばA2等)に入力する方法を調べております。 ボタンを作っておいて押したら記入される方法ではなく、 ワークシートの名前を変更したと同時に セルも変更される方法はないでしょうか?

  • シート名をセルの値からもってくるには・・・

    エクセルXPを使用しています。 よろしくお願いいたします。 シート名及びセル番地を指定する場合、シート名の部分に引数(別途作成したシート名の一覧表からの値・・)を入れる方法をご教授願えませんでしょうか? 質問の内容がわかりづらいかもしれませんが・・・

  • エクセルで別シートの値を取得したいです。

    エクセルで質問があります。 別シートからセル値を取得したいです。 ただ、セル番地は行番号、列番号で指定し、 行、列番号はセルに入力してある値を使いたいです。 例 Aシート(値格納シート) B1セル値=1000 -------------- Bシート(値取得シート) A列=行番号入力 B列=列番号入力 C列=Aシートの取得関数 A2セル値=1 B2セル値=2 C2セル=1000(取得値) C2セルの関数に、A2とB2の値を使って Aシートのセル値を取得したいです。 よろしくお願いします。

  • VBA アクティブなセルのシート名を取得したい

    エクセル2010使用です。 VBAで、アクティブなセルのあるシート名を取得する方法を教えてください。  マクロ.xls (マクロシートA1) ←今回のマクロを書き込んだファイル  参照.xls (参照シートA1)  入力.xls (入力シートF3) この3つのエクセルファイルを開きます。 ( )内はそれぞれの前面にあるシート名と選択されたセルです。 入力シートのF3にカーソルをおいて下記マクロを実行すると   MsgBox ActiveSheet.Name & ActiveCell.Address 「マクロシート F3」と返されます・・・ ほしい結果は「入力シート F3」なんです。 このような場合にアクティブセルのあるシート名を取得する方法があれば教えてください。 よろしくお願いいたします。

  • Excelで、同じセルをワークシートのまたがって合計したいです。

    表題のとおりで、Excel上で、全てのワークシートの、たとえばC3のセルを合計した値を取得したいです。 どのようにすれば出来るでしょうか? ご存知の方がいらっしゃいましたらよろしくお願いします。

  • セルの値をワークシート名にする(エクセル2013)

    インストラクターのネタ帳さんより http://www.relief.jp/itnote/archives/003382.php 下記「セルの値をワークシート名にする?Worksheet_Change」 を拝借し利用させていただこうと思いましたが ---------------------- Option Explicit Private Sub Worksheet_Change(ByVal Target As Range) On Error GoTo ERR_HANDLER If Target.Address(False, False) = "H1" Then ActiveSheet.Name = Range("H1").Value End If Exit Sub ERR_HANDLER: MsgBox "現在のH1セルの値はシート名にできません。" End Sub ---------------------- はそのまま出来るのですが、 H1セルにデータの入力規則:リストを指定しますと エラーとなりシート名が変わりません sheet1のリストA1:A50をsheet2のH1セルにリスト表示させ その表示名をそのままシート名に出来ませんでしょうか? ---------------------- Sub copy Range("H1").Copy Range("P1") End Sub ---------------------- Option Explicit Private Sub Worksheet_Change(ByVal Target As Range) On Error GoTo ERR_HANDLER If Target.Address(False, False) = "P1" Then ActiveSheet.Name = Range("P1").Value End If Exit Sub ERR_HANDLER: MsgBox "現在のP41セルの値はシート名にできません。" End Sub ---------------------- としてH1のセルをP1にコピーしたものを指定して試しましたがやはりエラーとなり うまくいきませんでした。 全くの素人で恐縮ですがよろしくお願いいたします