- ベストアンサー
EXCELで、セルの一文字目がアルファベットで大文字になっています。そ
EXCELで、セルの一文字目がアルファベットで大文字になっています。その一文字目だけを小文字に変換することはできますか? セル内のすべての文字を小文字にはしたくありません(固有名詞や略語などは大文字のままにしたいため) どなたかご教示くださいませ。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
一例です。 仮にA列にデータが入力されているとして、空き列に変換後、A列に設定します。 (1)空き列(仮にD列)のD1に=LOWER(LEFT(A1,1))&MID(A1,2,LEN(A1))として下方向にコピー (2)D列を選択→コピー→A列を選択→形式を選択して貼り付け→値を選択→OK (3)D列を削除
その他の回答 (2)
- tom04
- ベストアンサー率49% (2537/5117)
No.2です! たびたびごめんなさい。 前回はA列限定でしたが質問にはそんなことは一切書いていないので、 そのSheet全てに対応するようにしてみました。 ↓のコードに訂正してマクロを実行してみてください。 Sub test() Dim i, j As Long Dim str As String For i = 1 To ActiveSheet.UsedRange.Rows.Count For j = 1 To ActiveSheet.UsedRange.Columns.Count str = Mid(Cells(i, j), 1, 1) If str Like "[A-Z]" Then Cells(i, j) = Replace(Cells(i, j), str, LCase(str)) End If Next j Next i End Sub どうも何度も失礼しました。m(__)m
お礼
ご丁寧にご回答くださり、ありがとうございます。 関数のみで解決できましたので、こちらのマクロは試していないのですが、今後マクロも覚えなくてはいけないなぁと感じています。
- tom04
- ベストアンサー率49% (2537/5117)
こんにちは! VBAの一例です。 A列の1行目からデータがあるとします。 操作したいSheet見出し上で道クリック → コードの表示 を選択 白い画面に↓のコードをコピー&ペーストしてマクロを実行してみてください。 Sub test() Dim i As Long Dim str As String For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row str = Mid(Cells(i, 1), 1, 1) If str Like "[A-Z]" Then Cells(i, 1) = Replace(Cells(i, 1), str, LCase(str)) End If Next i End Sub 以上、参考になれば良いのですが・・・m(__)m
お礼
ありがとうございます。 なるほど、大変勉強になりました。無事解決いたしました。