Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


62158 / 76738 ←次へ | 前へ→

【19188】Re:マクロ
回答  ichinose  - 04/10/24(日) 22:01 -

引用なし
パスワード
   ▼fff さん:
こんばんは。

>マクロを用いて、半角の大文字があれば、その前にアンダーバーを入れ
>すべて大文字にしたいのですがどうすればよいですか?
>誰か教えてください
>例 aaBfffDhhhhUmm
>
>マクロ実行
>  AA_BFFF_DHHHH_UMM
>このようにしたいのですが、よろしくお願いします
一番目の文字が大文字だった場合も"_"をつけても良いのですか?
下の例は、付けてしまう例ですが、違うのなら、idxをチェックして処理すれば
良いとは思いますが・・・。

'======================================================
Sub test()
  MsgBox cnv_sp("aaBfffDhhhhUmm")
End Sub
'=============================================================
Function cnv_sp(mystr As String) As String
  cnv_sp = ""
  idx = 1
  Do While idx <= Len(mystr)
   If Mid(mystr, idx, 1) Like "[A-Z,a-z]" Then
    If Mid(mystr, idx, 1) = UCase(Mid(mystr, idx, 1)) Then
      cnv_sp = cnv_sp & "_"
      End If
    cnv_sp = cnv_sp & UCase(Mid(mystr, idx, 1))
    End If
   idx = idx + 1
   Loop
End Function

確認してみて下さい。
0 hits

【19185】マクロ fff 04/10/24(日) 21:44 質問
【19188】Re:マクロ ichinose 04/10/24(日) 22:01 回答
【19190】Re:マクロ ichinose 04/10/24(日) 22:34 発言
【19189】Re:文字列の大文字の前に特定文字を挿入し... かみちゃん 04/10/24(日) 22:21 回答
【19222】Re:マクロ [名前なし] 04/10/25(月) 22:35 回答

62158 / 76738 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free