Excel VBA質問箱 IV

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

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


14244 / 76738 ←次へ | 前へ→

【67993】Re:dictionaryオブジェクトについて
お礼  MIMI  - 11/1/24(月) 11:21 -

引用なし
パスワード
   ▼momo さん:

momoさん
アドバイスありがとうございます
正規表現という言葉を初めて知りました

とりあえず、momoさんの記述してくれたコードをそのまま動かしてみたところ、
うまくいかなくて、なんでなのか?調べているところです

コードの意味が分からないことだらけなので、
いろいろと調べてみて、再度、挑戦してみます

また、分からないところが多々でてくると思います
そのときは、聞くことがあるかもしれませんが、よろしくお願いします


>正規表現でSubMatchesを使ってみるとかはどうでしょうね?
>(にしても長いPattern・・・・)
>
> Option Explicit
> Sub 正規表現パターン逆引()
> Dim ans() As Variant, tbl1 As Variant, tbl2 As Variant
> Dim i As Long, j As Long
> Dim myPt As String
> tbl1 = Worksheets("Sheet1").Range("A1").CurrentRegion.Value
> For i = 2 To UBound(tbl1)
>  myPt = myPt & "|(" & Replace(Replace(tbl1(i, 1), "*", ".*"), "?", ".{1}") & ")"
> Next i
> myPt = Mid$(myPt, 2)
> tbl2 = Worksheets("Sheet2").Range("A1").CurrentRegion.Value
> ReDim Preserve ans(1 To UBound(tbl2), 1 To 1)
> With CreateObject("VBScript.RegExp")
>  .Pattern = myPt
>  .Global = True
>  For i = 2 To UBound(tbl2)
>   If .test(tbl2(i, 1)) Then
>    With .Execute(tbl2(i, 1)).Item(0).SubMatches
>     For j = 1 To .Count
>      If Not IsEmpty(.Item(j - 1)) Then
>       ans(i, 1) = tbl1(j + 1, 2)
>       Exit For
>      End If
>     Next j
>    End With
>   End If
>  Next i
> End With
> Worksheets("Sheet2").Range("B1").Resize(UBound(ans)).Value = ans
> End Sub

1 hits

【67986】dictionaryオブジェクトについて MIMI 11/1/21(金) 16:28 質問
【67987】Re:dictionaryオブジェクトについて Yuki 11/1/21(金) 16:52 発言
【67992】Re:dictionaryオブジェクトについて MIMI 11/1/24(月) 11:11 発言
【68017】Re:dictionaryオブジェクトについて Yuki 11/1/25(火) 14:46 発言
【68089】Re:dictionaryオブジェクトについて MIMI 11/1/31(月) 16:39 発言
【68090】Re:dictionaryオブジェクトについて Yuki 11/1/31(月) 17:32 発言
【67988】Re:dictionaryオブジェクトについて momo 11/1/21(金) 19:27 発言
【67993】Re:dictionaryオブジェクトについて MIMI 11/1/24(月) 11:21 お礼
【67999】Re:dictionaryオブジェクトについて MIMI 11/1/24(月) 16:51 質問
【68001】Re:dictionaryオブジェクトについて momo 11/1/24(月) 17:24 発言
【68021】Re:dictionaryオブジェクトについて MIMI 11/1/25(火) 16:31 お礼
【67991】Re:dictionaryオブジェクトについて 山猿 11/1/23(日) 9:06 発言
【67994】Re:dictionaryオブジェクトについて MIMI 11/1/24(月) 11:23 お礼
【68024】Re:dictionaryオブジェクトについて 山猿 11/1/25(火) 20:20 発言

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