アプリ版:「スタンプのみでお礼する」機能のリリースについて

表題の件について質問させていただきます。

基本的に数字の入っているセルなのですが、たまに数字の前に備考として特定の文字を入力しています。
 特定文字例:東京・千葉・埼玉・鈴木・木村・佐藤
 入力後の例:東京232・木村50

その特定の文字の入力には、マクロ登録してあるボタンで実行しています。
 ActiveCell.FormulaR1C1 = "特定の文字"

さて、質問なのですが、上記ではセルを選択しているときにボタンを押すことで特定文字の入力はきるのですが、入力中っていうのかな?カーソルが点滅している最中にはマクロが実行できないのです。
その為、数字の入った後のセルを選択してボタンを押すと、いちど数字の上に特定文字が上書きで入力されて数字が消えてしまいます。
現在は、ボタンを押して特定文字を入力した後に再度数字を入力しています。

どうにか、セルの選択中でもカーソル点滅中でもマクロを動かすことはできないでしょうか。
よろしくお願いいたします。

A 回答 (3件)

こんにちは



基本的に、セルの値を編集(手入力)中にマクロを実行することは
できません。(かなり高度な技術で、私もすぐにはできません)
でも
入力確定後に文字を追加する
ということで良ければ、マクロの記述、、、
>  ActiveCell.FormulaR1C1="特定の文字"

 ActiveCell.Value = "特定の文字" & ActiveCell.Value
と、してみたらどうでしょうか。


それと、余談ですが
これはVBAに限らず、
Excelのセルには、
「値」と「表示」
「データ型」と「値」
がそれぞれあることを意識して言葉を使い分けるようにしましょう。
"数字"と呼ぶものが、
「数値」なのか「文字列としての"数字"」なのか
この場合でも必要な情報です。
文字列なら "1"
数値なら 1
この違いを明確にしておくと
今後のVBAは勿論、シート上で関数を使うのにも困らないと思います。

また、入力作業の能率を上げるいみでは、#2さんの方法の方が
むしろ有効とも思います。

それでは また
    • good
    • 0
この回答へのお礼

ありがとうございます。
十分に理想的な動きができました。

また、他の助言も大変にありがたいです。
実は先日も他の関数を使っている際に数値に「""」を付加してしまって悩んだことがありました。
しっかりと意識していこうと思います。
本当にありがとうございました。

お礼日時:2008/11/03 19:38

よく分かりませんが オートコレクトを使ったらどうですか?

    • good
    • 0
この回答へのお礼

お返事ありがとうございます。
オートコレクトは使ったことがないので勉強してみます。
今回はNo.3さんの回答を利用させていただきますが、そのNo.3さんもオートコレクトを推奨されていますし、作業効率も上がりそうなお話もあるので、ぜひ試そうとおもいます。
ありがとうございました。

お礼日時:2008/11/03 19:28

IME入力中はキー入力をIMEが掴んでしまうんで、無理じゃないかな?

    • good
    • 0
この回答へのお礼

お返事ありがとうございます。
他のご回答をいただいた皆様の意見から見ても 無理な質問をしてしまったようですね。
先ずはとにかく、早々にお返事いただいたことに感謝です。

お礼日時:2008/11/03 19:20

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