Excel VBA質問箱 IV

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

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


14148 / 76738 ←次へ | 前へ→

【68089】Re:dictionaryオブジェクトについて
発言  MIMI  - 11/1/31(月) 16:39 -

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

アドバイスありがとうございます
ただ、-(ハイフン)のときもあり、アルファベット[A-Z]一文字入っているときもあって、常に、?のところがハイフンとは限らないのです・・・(悲)

?(ハテナ)の場所が、ハイフンかアルファベットどちらでも対応できるようにするにはやはり、dictionaryオブジェクトでは、難しいのでしょうか?


>▼MIMI さん:
>>
>>しかし、このコードだと、とても時間がかかってしまう難点があります
>
>例のように規則性があるんでしたら
>下記のようでいけそうです。
>
>Sub TESTx()
>  Dim Dic As Object
>  Dim v1 As Variant
>  Dim v2 As Variant
>  Dim i  As Long
>  
>  With Worksheets("Sheet1")
>    v1 = .Range("A1").CurrentRegion.Resize(, 2).Value
>  End With
>  
>  Set Dic = CreateObject("Scripting.Dictionary")
>  For i = 2 To UBound(v1)
>    Select Case Left(v1(i, 1), 1)
>      Case "*", "?"
>        Dic(Replace(Replace(Right(v1(i, 1), Len(v1(i, 1)) - 1), "*", "|"), "?", "-")) = v1(i, 2)
>      Case Else
>        Dic(Replace(Replace(v1(i, 1), "*", "|"), "?", "-")) = v1(i, 2)
>    End Select
>  Next
>  
>  With Worksheets("Sheet2")
>    v2 = .Range("A1").CurrentRegion.Resize(, 2).Value
>    For i = 2 To UBound(v2)
>      If Dic.Exists(v2(i, 1)) Then
>        v2(i, 2) = Dic(v2(i, 1))
>      End If
>    Next
>    .Range("A1").Resize(UBound(v2), 2).Value = v2
>  End With
>End Sub
3 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 発言

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