喫茶XRAYトップページ

[スレッド全体
]

[11758] Excelのアクティブセルの位置の取得返信 削除
2018/3/13 (火) 00:23:13 ☆康☆ヾ
Mr. XRay さん

困ったときのXRayさん頼みです。以下のことについて、ぜひ宜しくお願いします。

ここのサイトのおかげで、最近、EXCELのファイルを読み書きできるようになり、
とても助かっております。
本当にありがとうございます。

今回も、EXCELファイルにワンクリックで数個の既定の文字列を代入すると
いう必要性にかられ、Delphiでプログラムを作りました。

基本的なものはできたのですが、今日、同僚に試験運用をさせたところ、
人間のわがままに対応できないことに気がつきました。

Delphiで、Excelのセルを指定して、そこに文字列を記入後、下に入力セル
を下げていくようにしているのですが、あっ、入力ミスした、あるいは、
やはりここのセルはこちらの文字列の方がいいなと思って、Excelのセルを
クリックしても、Delphiはそんなことは感知しないので、入力は前回の続きに
忠実に入力していくことになります。

で、Excel側でアクティブセルを変えたとき、それをDelphi側で検知して
入力セルを変えるようにしようと思い、文字列入力直前にアクティブセルの
検出をしようと思い、

ACol := WorkSheet.ActiveCell.Colmun
ARow := WorkSheet.Selection.Row

などの命令を確かめてみましたが、残念ながら、
「メソッド'Selection'はオートメーションオブジェクトでサポートされていません。」
というつれないエラーメッセージが表示され、動作しません。

Excelのアクティブセルの列・行の位置取得を教えていただけると、大変助かります。

ぜひ、よろしくお願いします。

[11767] Re:Excelのアクティブセルの位置の取得返信 削除
2018/3/13 (火) 23:51:18 Mr.XRAY
てなわけでサンプル追加しておきました.

[ アクティブセルの取得と選択列数と行数の取得]
http://mrxray.on.coocan.jp/Delphi/plExcelEx/E154_ActiveCell_SelectRange.htm


[11771] Re2:Excelのアクティブセルの位置の取得返信 削除
2018/3/14 (水) 10:38:30 SO
▼ Mr.XRAYさん
> てなわけでサンプル追加しておきました.
>
> [ アクティブセルの取得と選択列数と行数の取得]
> http://mrxray.on.coocan.jp/Delphi/plExcelEx/E154_ActiveCell_SelectRange.htm


選択範囲というか、表内にアクティブセルがあって、
「Ctrl + A」すると表全体が選択されるやつにRange.CurrentRegion プロパティがありますね。
https://msdn.microsoft.com/ja-jp/vba/excel-vba/articles/range-currentregion-property-excel

このプロパティはRange オブジェクトを返すので、
表の最下部に合計等を別途追加したいときによく使ってます。


[11772] Re3:Excelのアクティブセルの位置の取得返信 削除
2018/3/14 (水) 13:14:41 Mr.XRAY
> 選択範囲というか、表内にアクティブセルがあって、
> 「Ctrl + A」すると表全体が選択されるやつにRange.CurrentRegion プロパティがありますね。


おおっ,こんなのがあるんですか.
サンプルに追加しておこうかな...


[11773] Re4:Excelのアクティブセルの位置の取得返信 削除
2018/3/14 (水) 22:30:06 Mr.XRAY
> おおっ,こんなのがあるんですか.
> サンプルに追加しておこうかな...


てなわけで (どういうわけかは訊かないでください ) サンプル追加してみました.
折角の知識ですので.

[アクティブセルと連続したデータがあるセル範囲の取得]
http://mrxray.on.coocan.jp/Delphi/plExcelEx/E154_ActiveCell_SelectRange.htm#03


[11776] Re5:Excelのアクティブセルの位置の取得返信 削除
2018/3/15 (木) 10:41:46 SO
▼ Mr.XRAYさん

私、下のように書いてますけど、
どちらかというと、罫線を設定するときによく使います。
あと、表内の最大行数や最大列数とかの取得とか。

>表の最下部に合計等を別途追加したいときによく使ってます。/plExcelEx/E154_ActiveCell_SelectRange.htm#03

[11777] Re6:Excelのアクティブセルの位置の取得返信 削除
2018/3/15 (木) 11:27:33 Mr.XRAY
> 私、下のように書いてますけど、

> どちらかというと、罫線を設定するときによく使います。
> あと、表内の最大行数や最大列数とかの取得とか。


データの領域が分かるんですから,
そのぐらいの用途は考えられるとは思うのですが,
やっぱり書いた方がいいかな...


[11778] Re7:Excelのアクティブセルの位置の取得返信 削除
2018/3/16 (金) 08:21:38 SO
▼ Mr.XRAYさん

> データの領域が分かるんですから,
> そのぐらいの用途は考えられるとは思うのですが,


そうですね。私もそう思います。

> やっぱり書いた方がいいかな...

自分の文にセルフツッコミしただけなので、お気になさらず。

[▼次のスレッド]
INCM/CMT
Cyclamen v3.82