• ベストアンサー

エクセルVBAで、入力されたセルの位置を知りたい。

エクセルVBAで、入力されたセルの位置を知りたいのですが、現在アクティブセルの位置の上が入力された位置と仮定して処理しています。これだとタブキー等でデーターを入力されてしまうと入力された位置が異なってしまいます。実際に入力された位置を知る方法はありますでしょうか。宜しくお願い致します。

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.1

>力された位置を知る方法はありますでしょうか 知ったあと何をしたいのか、書くべきだと思います。 それによって回答がふさわしいものかどうか決まる面があるからです。 イベントプロシージュアーで捉えるべき問題なんでしょうが、 エクセルのイベントは貧弱で、 シートのイベントでそれらしいのは (1)Worksheet_SelectionChange (2)Worksheet_Change しかなくて、(1)は不適でしょうから(2)の Private Sub Worksheet_Change(ByVal Target As Range) MsgBox Target.Address End Sub これを使ってみて、満足できるかどうかチェックしてみてください。 DELキ-を押しても 範囲指定のDELキーでも オートフィルでも VBAで値を設定しても 1セルないし範囲が返される。 うまく使わないと、とんでもないことになります。

TinyPine
質問者

お礼

ご回答有難う御座いました。早速使用してみました。希望通りの動作でした。 イベントプロシジャー等と書かれていたので(Cでかなり難儀していますので)身構えましたが、サンプルがあった為助かりました。 有難うございました。

関連するQ&A

  • Excelの可視セルを知りたい

    ExcelにおいてVBAを使っています。シートをスクロールして表示された左上位置にある可視セルを知ることはできますか。アクティブセルとか範囲指定されている場合のようにできないものでしょうか。

  • ExcelのVBAについて。

    ExcelのVBAについて。 ハイパーリンクのイロハ? アクティブセルを入力して、それをリンク先にB10セルにハイパーリンクを作りたいのですが、textboxから迄しかできず、、自動的にできません。自動的に割り振り出来るようにするにはどうしたらよいでしょうか? 参考やヒントなどもよろしくお願いします。

  • エクセルVBAでセル選択

    エクセル2000でリストを作成し、VBAで編集しようとしています。 A列に入力されているコードの先頭に「’」をつけて文字列とするための関数をB2のセルからA列のデータが入力されている最後のセルの隣までコピーしたいと思っています。 A列の最終セルを取得するVBAは分かったのですが、その値をB列の選択範囲として使用する方法がわかりません。 エクセルVBAは全くの初心者です。 どなたか教えてください!

  • Excelセル入力でパスワード入力のようにできますか?

    Excelセル入力でパスワード入力のようにできますか? Excel2003です。 セルに入力する際にパスワード入力のように「*」表示にすることはできるでしょうか? 例えば、"abcde"と入力して、セルの表示は"*****"となるようにする方法です。 セルの書式設定でもVBAでもどちらでもできる方法をお教えいただけないでしょうか。 よろしくお願いします。

  • エクセル 1文字入力すると自動で横にセル移動

    現在エクセルを利用してアンケートの結果入力をしています。 各セルには1文字の数字しか入れないのですが、 「数字」⇒タブキー(横移動)で1つ1つ打っています。 しかし、タブキーを使用しているとうち間違いなどがあり、セルが一つずつずれてしまったりしてしまいます。 どうにかエクセルに1文字入力すると何のキーも押さずに 自動で横にセル移動してくれるというようなことを設定できないでしょうか? 初心者ですいませんが、お願いします。

  • エクセルVBA 一番端のセルの求め方について

    エクセル2003VBAを使ったプログラミングをしています。 シートにデータが入っていますが途中入っていないセルが多々ある状況です。 このような場合、 1.データの入っている一番したの行の行番号を取り出す方法 2.ある行で一番右側でデータの入っているセルの位置を取り出す方法 はありますでしょうか? データが続いている(空の行等がない)場合は Range("A1").CurrentRegion.rows.Count で出せることはわかっているのですが、違う表のようにデータがあちこちにあるという状況です。 何かいい方法がありましたら教えてください。 よろしくお願いいたします。

  • エクセル 入力について

    お尋ねしたいです。 エクセルで、入力用シートから別表シートにVBAでデータ入力しています。 しかし表の最下列にデータがあると、上書きされてしまい前のデータが失われてしまう、 という入力ミスが多く、困っています。 そこで表の最下列セルに何か入力されているか、下から2番目のセルが空白セルの場合に、入力できないかエラーがでるようにしたいのですが、 VBAなどを使えば、出来るのでしょうか? 説明が分かりにくければすみません。。 お願い致します。

  • Excelでセルに入力するとVBA関数が呼び出される

    標記件、あるExcelファイルでセルに入力を行うと、入力後にVBAのある関数が自動で呼び出されるのですが、どこでこの設定を行う事ができるのでしょうか? VBAをOPENし、"ThisWorkbook"と"Sheet"内を開いても、何も記述はありません。通常はここで設定を行うと思うのですが・・・ (SelectionChangeなどで。) なお、呼び出される関数は、標準モジュール内に入っています。 以上、よろしくお願い致します。

  • Excel VBA アクティブセルからある一定のセルまでの範囲選択

    Excel VBA アクティブセルからある一定のセルまでの範囲選択 Excel2003を使用しています。 アクティブセルからC列に『計』と入力されている行の1行上のD列までを選択状態にするマクロを作成しようとしています。 C列に『計』と入力されている行は下記のように複数あるので、アクティブセルの行以下に入力されている次のC列の『計』の1行上までとしたいのですが、どのようにコードを書いたらいいでしょうか? 例えば… A2セルをアクティブにしていてマクロを実行するとA2:D3が選択状態に A7セルをアクティブにしていてマクロを実行すると、A7:D9が選択状態になるように という具合です。 わかりづらくて申し訳ありませんが、よろしくお願いします。    A     B     C     D 1  日付    №   品名    金額 2  1/1     1    ○○○   1,000 3  1/2     2    ×××   1,500 4              計      2,500 5 6 7   1/1     5    ○×○   2,000 8   1/3     6    ××○   1,200 9   1/4     7    ×○○   2,500               計      5,700            :            :

  • エクセルのVBAを使って、セルの値の検索をしたいと思ってます。

    エクセルのVBAを使って、セルの値の検索をしたいと思ってます。 ですが、cells.findのように、アクティブセルが移動することなしに、値のみを取得し、変数に格納したいと思っていますが、どうすればよいか、見当がつきません。 繰り返し構文を使えば、検索はできますが、それだと、無駄に重くなりそうなので、何か良い方法はありませんか?

専門家に質問してみよう