No.4ベストアンサー
- 回答日時:
以下のようにしてください。
Get12Digitが文字を与えると、その中から12桁の数字を取り出す。
関数です。(該当の数字がないときは""を返します)
sampleはA列の文字を与え、取得結果をB列に設定しています。
C列は、Get12Digitをユーザー定義関数として使用した場合です。
C1へ
=Get12Digit(A1)
と記入すると、取得結果をC1へ設定します。
---------------------------------------------------
Public Sub sample()
Dim wrow As Long
For wrow = 1 To 10
Dim str As String
str = Get12Digit(Cells(wrow, 1).Value)
If str = "" Then
Cells(wrow, 2).Value = "12桁の数字なし"
Else
Cells(wrow, 2).Value = str
End If
Next
End Sub
Public Function Get12Digit(str As String) As String
Dim reg As Object
Dim mat As Variant
Dim mat0 As Variant
Get12Digit = ""
Set reg = CreateObject("VBScript.RegExp")
reg.Pattern = "(\D|^)(\d{12})(\D|$)"
reg.Global = False
Set mat = reg.Execute(str)
If mat.Count <> 1 Then Exit Function
Set mat0 = mat(0)
Get12Digit = mat0.submatches(1)
End Function
No.3
- 回答日時:
No1です
>その文章から12桁数値を取り出す考え方がうまく思いつかないという所です。
だと思ったので、No1に参考を挙げておいたのですが、意味が伝わっていないのかな?
以下は、正規表現での抽出例です。
Set reg = CreateObject("VBScript.RegExp")
reg.Pattern = "\d{12}"
testString = "太郎さんと次郎さんの家123は、①と②の間の住所番地は001122334455の場所にあります。"
Set m = reg.Execute(testString)
If m.Count Then res = m(0).Value Else res = "該当なし"
MsgBox "抽出値: " & res
No.1
- 回答日時:
こんにちは
>メールから文章を抽出する部分は完了しているので
多分、VBAでなさっているのではないかと推測しました。
であるなら、そのままVBAで抽出まで行ってしまうのが便利そうですね。
12桁以上連続していたらどうするのかなど、詳細が不明ですが、Like演算子や正規表現を用いるのが簡単かと思います。
◇ Like演算子
https://docs.microsoft.com/ja-jp/dotnet/visual-b …
◇ 正規表現
https://docs.microsoft.com/ja-jp/dotnet/standard …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで、抽出したデータだ...
-
【AccessVBA】レコードセットOp...
-
access クエリ yes/no型のクエ...
-
Access2016でのfilter後に並べ...
-
PDFファイル/抽出許可され...
-
ACCESSのフォームからレポート...
-
「パラメータが少なすぎます。3...
-
AccessのWHERE句において、変数...
-
エクセル VBA メール本文に指定...
-
Access フォームコンボボック...
-
awkでスラッシュがある動的変数...
-
ACCESSのクエリー抽出条件にIIF...
-
ACCESS クエリ 条件以外のレ...
-
ニコニコ動画での音質と音声抽...
-
Access2003 式ビルダでのLike...
-
エクセルの7桁の中から3,5,7...
-
Excel 文字列から6桁の数値の抽出
-
PCゲーム 音声 画像 抽出方法
-
Acrobatでの複数ページの分割に...
-
EXCEL関数 MAX関数と複合的に...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで、抽出したデータだ...
-
「パラメータが少なすぎます。3...
-
PDFファイル/抽出許可され...
-
X-Ripperというフリーウェアに...
-
【AccessVBA】レコードセットOp...
-
未審査請求包袋抽出表作成とは...
-
PDFファイルから特定の文字を検...
-
ACCESSのクエリー抽出条件にIIF...
-
エクセル関数で住所から丁目番...
-
access クエリ yes/no型のクエ...
-
Excel 文字列から6桁の数値の抽出
-
Access チェックボックスを利用...
-
AccessのWHERE句において、変数...
-
アクセス 同じフィールド(テキ...
-
エクセル VBA メール本文に指定...
-
エクセルで色の付いたセルを抽...
-
PCゲーム 音声 画像 抽出方法
-
Accessの選択クエリの抽出条件...
-
ACCESSのフォームからレポート...
-
アクセスのテキストボックスでO...
おすすめ情報
特に30代の方に回答となっていますが、間違えです。すみません。
メールから文章を抽出する部分は完了しているので、後半の文章内を検索して、12桁数値と合致した所だけ抜き出す部分の方法をご教授いただきたいです。
メールから取り出しまではVBAでしています。
文章内に12桁の数値は複数あるかもしれませんが、
一番初めに出てくる12桁の数値を取り出せれば、良い感じです。
12桁以上あることはありません。
勉強不足もあり、メールから取り出すとこまではできたのですが、その文章から12桁数値を取り出す考え方がうまく思いつかないという所です。