![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
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ランキング
-
文字の入力で横バー上段、中断...
-
全角括弧と全角読点の間隔を狭...
-
エクセルのCOUNTIFが正しくカウ...
-
メッセージボックスで1025文字...
-
全て全角文字かチェックしたい
-
エクセルでの漢字、カタカナ、...
-
VBAのリストボックスでの文字化け
-
VBScriptである文字列に半角文...
-
全角英数字のみ半角英数字にす...
-
Excel関数「COUNTIF」で”文字”...
-
VBAで英数字入力チェックしたい。
-
特定の文字を簡単な操作で半角...
-
PHP 全角・半角・英数字 エラ...
-
なぜインターネットでは半角カ...
-
VB.net テキストボックス半角文...
-
preg_matchを使って文字の書式...
-
記号は半角と全角どちらがよい...
-
質問です。メールについて
-
PHPで半角英数、全角文字の組み...
-
テキストボックスの入力制限
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
メッセージボックスで1025文字...
-
文字の入力で横バー上段、中断...
-
Excel関数「COUNTIF」で”文字”...
-
エクセルのCOUNTIFが正しくカウ...
-
全角括弧と全角読点の間隔を狭...
-
半角記号、全角記号を含む正規...
-
特定の文字を簡単な操作で半角...
-
全角英数文字が嫌われる理由を...
-
VBAで英数字入力チェックしたい。
-
エクセルでの漢字、カタカナ、...
-
全角半角変換 C++/CLI
-
XMLのタグ名の禁則文字
-
VBScriptである文字列に半角文...
-
記号は半角と全角どちらがよい...
-
文字列中の両丸括弧を取り除くV...
-
パソコンで全角、半角文字の切...
-
HTML5の「pattern」属性で前後...
-
Replace関数は文字数の制限ある...
-
Excel2002 一桁数字だけ全角に置換
-
入力禁止文字の設定方法につい...
おすすめ情報