Excelのこととか色々

マクロをどんな Excel ファイルにも実行できるように設定して、3秒かかる操作も1秒で完了。あといろいろ書いてみます・・・

【Excel/VBAのこと34】最初の単語の頭文字だけ大文字にする(Left, Mid, LCase, UCase)

   f:id:tuna-kichi:20200223230814p:plain

 

2,3個の単語で構成されている英語の大文字を小文字に直す必要が出てきました。

 

例えば、こんな感じに。

 

Yahoo Shopping ー> Yahoo shopping

 

各単語の頭文字が大文字になっているものをすべて小文字に直さなければいけません。

 

Propper 関数が使えるかな と思ったのですが、これは各単語の頭文字を大文字にしてしまうので、使えませんでした。

 

そこで、一度すべてを小文字にして、それから1番目の文字を大文字にする という方法で対応しました。

 

**********************************************

マクロ

 

Sub 先頭単語の頭文字のみ大文字にする()
 Selection = LCase(Selection) '①
 Selection = UCase(Left(Selection, 1)) & Mid(Selection, 2) '②

End Sub

-----------------------------------------------------

 

簡単ですよね。

 

① まずは、選択されているセルの文字列を LCase ですべて小文字に直します。

  この時点で、「yahoo shopping」 のようになります。

 

② その次にすべて小文字になった文字列を、Left関数で左から一番目の文字だけを指定して、

  その文字を UCase で大文字にします。

  大文字にした1文字目と2文字目以降を合体させて、できあがり。

  ※2文字目以降は、Mid関数を使って指定します。

   3つ目の引数に「文字数」指定しますが、何も書かなければ開始文字以降全部が対象となります。

 

いつも通り、個人用マクロブックの標準モジュールに記述して、そのあとリボンに登録します。 

 

 

作成したマクロは難しくありませんが、ここにたどり着くのに時間がちょっとかかりました。

 

マクロに限らず、ちょっとした簡単なことで解決できる問題ってありますよね。

ポイントは、底に気が付くかどうかだと思います。

 

・・・底 ってどこ???

 

**************************************** 

 

個人用マクロブックについてはこちら

www.tuna-kichi.com

 

リボンに登録についてはこちら

www.tuna-kichi.com

 

 

_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

にほんブログ村 子育てブログ 幼稚園児育児へ にほんブログ村 英語ブログ 初心者英語へ にほんブログ村 IT技術ブログ VBAへ

==================================

  Graspyで無料プログラミング講座を受講する