プロが教えるわが家の防犯対策術!

エクセルのC3に入力した値をシート上のラベル1に
転記させたいのですが、コードが分かりません。
どなたかご教示お願いします。

A 回答 (1件)

こんにちは



試してみただけなので、正確なところはわかりませんが・・・

シート上のラベルにはフォームコントロールとActiveXコントロールとが考えられますが、どちらなのかわかりませんのでとりあえず両方。

◇フォームコントロールの場合
ActiveSheet.Labelsで全部のコレクションを取得できますので、Name属性で探して取得することが可能です。
また、フォームコントロールの場合は、ActiveSheet.Label1でもオブジェクトをダイレクトに取得できるようですね。
表示内容を変更するには、Caption属性の値を設定することで可能です。

◇ActiveXコントロールの場合
同様に、ActiveSheet.OLEObjectsで全体のコレクションが取得できますが、Name属性で探す方法しか見つけられませんでした。
オブジェクトを拾えても、ActiveXオブジェクトの場合は、直にはCaption属性が存在しないようです。
ActiveSheet.OLEObjects(n).Object.Captionとすることで、値の設定が可能でした。


全体的な手順としては、当該シートのWorksheet_SelectionChangeイベントを利用して、C1セルの値をラベルのCaptionに代入することで、ご質問の内容を実現できるものと思います。

なお、マクロなど用いなくても、(ラベルではなく)ActiveXのTextBoxを利用してLinkedCellに希望するセルを設定しておけば、自動的にセルの値と表示内容を連動させることが可能になります。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!