• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:プログラミング初心者です。お世話になります。 )

プログラミング初心者の質問!Excelファイル内のアクティブなセルのアドレスを表示する方法

このQ&Aのポイント
  • プログラミング初心者が作成しているアプリケーションからExcelファイルを開き、アクティブなセルのアドレスを、フォーム上のラベルに表示したいがうまくいかない。
  • シートを表示させることはできたが、アクティブなセルのアドレスを表示させることができない。
  • Cellsの代わりにActiveCellを試してみたが、うまくいかなかった。どのようにすればよいか教えてほしい。

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

  • ベストアンサー
  • phoenix343
  • ベストアンサー率15% (296/1946)
回答No.3

| 順次選択したセルのアドレスが表示されるにはどうしたらよいでしょうか? 「選択したセル」 ってことは 自分で選択するんですよね ActiveCell じゃなく Selection で考えるべきでは? 選択した後のセルは Application.Selection.Range で取得でき、 選択したセル範囲の行数は Application.Selection.Range.Rows.Count で取得できる ヒントは Selection と Range ですね 健闘を祈る

yngnhplss
質問者

お礼

Selectionでできました! 何度も丁寧に教えて下さりありがとうございました◎

その他の回答 (2)

  • phoenix343
  • ベストアンサー率15% (296/1946)
回答No.2

Excelのヘルプ見てます? ActiveCellは ApplicationとActiveWindowクラスの配下にしかありませんよ。 それにシートのアクティブ化も最初にしないといけません。 ちゃんと以下のように例が載ってます。 === 次の使用例は、メッセージ ボックスにアクティブ セルの値を表示します。アクティブ シートでない場合、ActiveCell プロパティは失敗するので、プロパティを使う前に、Sheet1 をアクティブにしておきます。 Worksheets("Sheet1").Activate MsgBox ActiveCell.Value ===

yngnhplss
質問者

補足

おっしゃるとおり、Excelヘルプみたら載ってました。 アドレス取り込めました。 ただ、シートを開いたとき、最初に選択されているセルのアドレスが表示されます。当然ですが。 xlSheet.Activate() rng = xlApp.ActiveCell Label7.Text = rng.Address 順次選択したセルのアドレスが表示されるにはどうしたらよいでしょうか? フォームに戻って再格納ボタンのようなものを押すと再格納する、というのが簡単かなと思いましたが、 フォームに戻ってrng.address格納しようとしても、シートが既にactivateじゃないから、実現できないですよね。 何か良い方法ないでしょうか?

  • phoenix343
  • ベストアンサー率15% (296/1946)
回答No.1

以下の一行を rng = DirectCast(oSheet.Cells(1, 1), Excel.Range) Set rng = ActiveCell で出来ませんかね(そもそもDirectCastする必要性を感じません) そもそもセルもRangeの一部ですから上記で可能なはずですが、、

yngnhplss
質問者

補足

Setはいらないみたいです。Setとかいても自動で消されます。 rng = ActiveCellでは (ActiveCellは宣言されてません)の構文エラー。 rng = xlSheet.ActiveCellではデバックで、 ('System.MissingMemberException' の初回例外が Microsoft.VisualBasic.dll で発生しました。)というエラーになります。

関連するQ&A