![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
No.3ベストアンサー
- 回答日時:
VBAのほうで解決させてよいのかな?
関数ですと、一回目は出来るような気がします、おそらく、次に出てくる数字は出来ませんね。(以下のような文字列)
>数字はすでに打ち込まれており、全て半角で、仮名も交じった文章です。
(事情により半角カタカナはいれませんが)
ABCDE12345FGHIJK123456LMNOP
処理後:
ABCDE12345FGHIJK123456LMNOP (サイト上では見分けが付きませんが)
という場合に、12345 で、5 を全角にする、123456 は、6 を全角にするという解釈ですか。
以下は、単独のユーザー定義関数だけでも、変換が可能です。
ふつうの関数と同じように、 = ConvertLetter(A1)
で変換されます。
VBEditor を開き、挿入--標準モジュール で、以下のプログラム・ソースを貼り付けてください。
'//
Sub MyTest1()
Dim c As Variant
For Each c In Selection
If c Like "*##*" Then
c.Offset(, 1).Value = ConvertLetter(c.Value)
c.Offset(, 1).Value = c.Offset(, 1).Value '値貼り付け
End If
Next
End Sub
Function ConvertLetter(ByVal strTxt As String) As String
'ユーザー定義関数
Dim Matches As Object
Dim Match As Object
Dim buf As String, rep As String
With CreateObject("VBScript.RegExp")
.Pattern = "\d+"
.Global = True
buf = strTxt
Set Matches = .Execute(buf)
For Each Match In Matches
rep = Left(Match, Len(Match) - 1) & StrConv(Right(Match, 1), vbWide)
buf = Replace(buf, Match, rep, 1, 1)
Next
End With
ConvertLetter = buf
End Function
No.2
- 回答日時:
チェックする文字列を全部とってくる(1行分でも全部でも)
チェックする文字列を左から1文字ずつ切り取り
IF 切り取った文字が数字である then
隣の文字を切り取る
IF 隣の文字が数字でない Then
先に切り取った文字を全角してAに入れる
AにA+隣の文字を入れる
Else '隣の文字が数字である または 空白
AにA+隣の文字を入れる
End IF
Else
AにA+切り取った文字を入れる
End IF
最初にとってきた文字列がなくなったら
完成したAを返してあげる。
みたいにすれば、できると思う。
数字の連続をどうやって判定するか問題かな
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(Microsoft Office) WordやExcelで英数字のみ半角または全角にしたい 6 2022/08/03 08:18
- Visual Basic(VBA) 特定の文字を簡単な操作で半角スペースに変換するか削除したい 2 2022/11/01 10:35
- Excel(エクセル) capeofdragonと申します Excel2016を使っておりまして 半角又は全角の任意文字列が 2 2022/10/31 13:51
- その他(Microsoft Office) 英数字のみ全角から半角に変換 4 2023/07/28 14:48
- Excel(エクセル) Excel 365 フリーズ 頻発 エクセルのセルの中に日本語の文章を全角半角和文英文数字を混ぜて入 3 2022/12/12 15:09
- Visual Basic(VBA) エクセルの数式で教えてください。 1 2023/07/31 15:49
- Access(アクセス) Accessのテキストボックスの入力文字制限 1 2023/01/18 20:43
- Excel(エクセル) エクセルの数式で教えてください。 2 2023/03/09 16:55
- Excel(エクセル) Excelの複数置換はSUBSTITUTEを重ねるしかない? 9 2022/05/08 11:25
- その他(データベース) Accessのクエリで1フィールドの抽出条件設定をNullでなく全角半角含む空白のみの文字列でない文 1 2023/04/24 15:20
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
文字の入力で横バー上段、中断...
-
Excel関数「COUNTIF」で”文字”...
-
VBScriptである文字列に半角文...
-
メッセージボックスで1025文字...
-
全角半角変換 C++/CLI
-
全角、半角、改行コードが混在...
-
エクセルのCOUNTIFが正しくカウ...
-
HTML5の「pattern」属性で前後...
-
POSTで文字化け?
-
なぜインターネットでは半角カ...
-
特定の文字を簡単な操作で半角...
-
文字列の漢字の有無の検索
-
php4での文字化け
-
半角記号、全角記号を含む正規...
-
文字列中の両丸括弧を取り除くV...
-
XMLのタグ名の禁則文字
-
半角英数字のみを受け付ける入...
-
Visual C#でデータベースにある...
-
全角括弧と全角読点の間隔を狭...
-
数字と半角英字混じりの乱数を...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
メッセージボックスで1025文字...
-
文字の入力で横バー上段、中断...
-
Excel関数「COUNTIF」で”文字”...
-
全角括弧と全角読点の間隔を狭...
-
エクセルのCOUNTIFが正しくカウ...
-
半角記号、全角記号を含む正規...
-
記号は半角と全角どちらがよい...
-
XMLのタグ名の禁則文字
-
エクセルでの漢字、カタカナ、...
-
Replace関数は文字数の制限ある...
-
VBAで英数字入力チェックしたい。
-
文字列中の両丸括弧を取り除くV...
-
特定の文字を簡単な操作で半角...
-
全角英数文字が嫌われる理由を...
-
全角半角変換 C++/CLI
-
VBScriptである文字列に半角文...
-
半角文字と全角文字の判別の仕方
-
2つ以上の連続する空白文字を除去
-
Excel2002 一桁数字だけ全角に置換
-
VB.net テキストボックス半角文...
おすすめ情報