
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を探す
今、見られている記事はコレ!
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
-
なぜ批判コメントをするの?その心理と向き合い方をカウンセラーにきいた!
今や生活に必要不可欠となったインターネット。手軽に情報を得られるだけでなく、ネットを介したコミュニケーションも一般的となった。それと同時に顕在化しているのが、他者に対する辛らつな意見だ。ネットニュース...
-
大麻の使用罪がなかった理由や法改正での変更点、他国との違いを弁護士が解説
ドイツで2024年4月に大麻が合法化され、その2ヶ月後にサッカーEURO2024が行われた。その際、ドイツ警察は大会運営における治安維持の一つの方針として「アルコールを飲んでいるグループと、大麻を吸っているグループ...
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
特定のセルだけ結果がおかしい...
-
エクセルのdatedif関数を使って...
-
エクセルのVBAで集計をしたい
-
【マクロ】【配列】3つのシー...
-
vba テキストボックスとリフト...
-
エクセル ドロップダウンリスト...
-
【関数】同じ関数なのに、エラ...
-
Office2021のエクセルで米国株...
-
【マクロ】列を折りたたみ非表...
-
9月17日でサービス終了らし...
-
【マクロ】アクティブセルの時...
-
ページが変なふうに切れる
-
【条件付き書式】シートの中で...
-
【マクロ】3行に上から下に並...
-
【マクロ】オートフィルターの...
-
【マクロ】EXCELで読込したCSV...
-
【画像あり】オートフィルター...
-
他のシートの検索
-
エクセルの循環参照、?
-
Excelファイルを開くと私だけVA...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
9月17日でサービス終了らし...
-
エクセル
-
【マクロ】WEBシステムから保存...
-
エクセルの循環参照、?
-
エクセル ドロップダウンリスト...
-
エクセルのdatedif関数を使って...
-
特定のセルだけ結果がおかしい...
-
【マクロ】A列にある、日付(本...
-
【マクロ】EXCELで読込したCSV...
-
【マクロ】アクティブセルの時...
-
【エクセル】期限アラートについて
-
iPhoneのExcelアプリで、別のシ...
-
【関数】同じ関数なのに、エラ...
-
Excelの新しい空白のブックを開...
-
【マクロ】3行に上から下に並...
-
【マクロ】宣言は、何のために...
-
VBA チェックボックスをオーバ...
-
Excelについての質問です 並べ...
-
【マクロ】アクティブセルの2...
-
【関数】不規則な文章から●●-●●...
おすすめ情報