@IT会議室は、ITエンジニアに特化した質問・回答コミュニティ「QA@IT」に生まれ変わりました。ぜひご利用ください。
- PR -

Excelの最終入力位置を取得する方法

1
投稿者投稿内容
TAKEZO
ベテラン
会議室デビュー日: 2003/12/25
投稿数: 59
投稿日時: 2006-10-18 11:15
Excelの最終入力位置を取得する際、下記のようなコードで取得可能だと思うのですが
期待した動作にならず困っております。

ActiveCell.SpecialCells(xlLastCell).Select 'CTRL+ENDとイコール

例えば新規にブックを作成しB:2に何らかの値を入力し、CTRL+ENDキーを押した際には
B:2が選択されるのですが、その後C:3に何らかの値を入力し、その値を削除した場合
B:2が選択されることを期待しているのですが、C:3が選択されてしまいます。

期待した動作にするにはどのようにすれば良いのかアドバイスいただければ助かります。
よろしくお願いします

環境 WindowsXP SP2
    Excel2002 SP2
まどか
ぬし
会議室デビュー日: 2005/09/06
投稿数: 372
お住まい・勤務地: ますのすし管区
投稿日時: 2006-10-18 11:22
引用:

B:2が選択されるのですが、その後C:3に何らかの値を入力し、その値を削除した場合
B:2が選択されることを期待しているのですが、C:3が選択されてしまいます。


その「行」を削除するしかないかも。
mio
ぬし
会議室デビュー日: 2005/08/25
投稿数: 734
お住まい・勤務地: 神奈川県
投稿日時: 2006-10-18 11:37
行を削除して保存、というのがFAQですね。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-10-18 12:15
'行' を削除する必要はありません。
セルの中身を削除して [保存] さえすれば 期待通りの動作になるでしょう。

保存したくないのであれば、UsedRange を見ましょう。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
TAKEZO
ベテラン
会議室デビュー日: 2003/12/25
投稿数: 59
投稿日時: 2006-10-18 12:45
皆様アドバイスありがとうございます。見た目上データは入っていないように
見受けられたのですが、該当列を削除した上で保存することで解決いたしました。
ありがとうございました。
mio
ぬし
会議室デビュー日: 2005/08/25
投稿数: 734
お住まい・勤務地: 神奈川県
投稿日時: 2006-10-18 13:10
引用:

じゃんぬねっとさんの書き込み (2006-10-18 12:15) より:
'行' を削除する必要はありません。


そうでしたか。いつから改良されたんだろう…。
TAKEZO
ベテラン
会議室デビュー日: 2003/12/25
投稿数: 59
投稿日時: 2006-10-20 13:57
公式ドキュメントを見つけましたので参考までに掲載しておきます。
http://support.microsoft.com/default.aspx?scid=kb%3bja%3b405492
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-10-20 15:27
引用:

mioさんの書き込み (2006-10-18 13:10) より:

そうでしたか。いつから改良されたんだろう…。


公式ドキュメントを見る限り、行単位でないとダメなことがあるみたいですね。
保存さえすれば、正しい位置に更新されるとばかり思っていましたが。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
1

スキルアップ/キャリアアップ(JOB@IT)