[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『英文の最初を大文字に自動変換』(せいか)
Excelで英語の単語帳のようなものを作っています。日本語入力オフに設定したセルに英文を入力する際、自動的に文の最初が英字の大文字になる方法がありますか?文頭以外は小文字です。よろしくお願いします。
関数ですと=PROPERを使えばできますけど、 自動的にでしたらVBAになります。 一度試してみますか?
[Alt]+[F11]でVBEを開き 左のプロジェクト欄のSheet1をダブルクリック そのシートモジュールに下のコードをコピペして下さい。 [Alt]+[Q]でエクセルに戻ります。
シートのどこかに英字を入力してみてください。 どうでせう?最初の英字が大文字に変換されましたでせう? (せいか)さんて、昔どっかでお会いしましたっけ? (弥太郎) '------------------ Private Sub Worksheet_Change(ByVal Target As Range) If Target.Count > 1 Then Exit Sub Target = StrConv(Target, vbProperCase) End Sub
補足です。
弥太郎さんのコードをお借りします。(勝手にすいません。)
もし変換の対象が文でしたら。
Target = StrConv(Target, vbProperCase) を
Target=UCase(Left(Target, 1)) & Right(Target, Len(Target) - 1) に
*一つのセルに文が二つ以上の場合は、最初の文だけに影響します。
二番目の文頭が大文字で入力されていれば、そのまま生きます。
つまり、セルの第一文字が小文字であった場合、大文字にするという意味です。
jindon
弥太郎さん、jindonさんありがとうございます。英文を対象としていたので、さらに質問しようかなと思っていたところjindonさんが補足を入れていただいたので助かりました。jindonさんのコードだと1セルに複数文か入ってもコンマがあれば大文字変換されるので大変ありがたいです。
弥太郎さん、何度かこの掲示板にはお世話になっているのでお見かけしたのかもしれません。それにしてもここにくれば、いい解決法が出てきてしまうので感謝しながら甘えてばかりです。なんどかVBAの入門書は読んだのですが、ポップアップの警告なのを作るのがせいぜいです。皆さんがくれたコードの意味が分かるくらいまで出来るようになりたいです。
(せいか)
"1セルに複数文か入ってもコンマがあれば大文字変換されるので"
そうならないはずですが? 再度確認された方がいいかと..
jindon
コンマ(,)でなくて、ピリオド(.)でした。2文あると、大文字になりますよ。
This is the first sentence. This is second sentence.
(せいか)
Hummmm
確かに、でもこれはコードが変換してるのではなくオートコレクトのCapitalizationの仕業ですね。"."ピリオド+スペースのあとの一文字を大文字変換する機能です。
どうせなら最初の文頭も変換してくれれば....
確か、英語版Word97には Sentenceを変換する機能がありました。
jindon
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.