Excel VBA質問箱 IV

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

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


15796 / 76734 ←次へ | 前へ→

【66413】Re:指定のセル範囲内の文字列
お礼  ai  - 10/9/3(金) 12:49 -

引用なし
パスワード
   ▼UO3 さん:
>▼ai さん:
>
>こんにちは
>
>全て黄色がSample1 、 
>おまけに Sample2 は 色を変えていきます。
>(でも6種類なので7種類目の文字列は最初の文字列と同じ色になりますが)
>
>Sub Sample1()
>Dim fAddr As String
>Dim myA As Range, myC As Range, fCell As Range
>Dim myDic As Object
> Set myA = Range("C4:F11") '<== 指定範囲 例
> Set myDic = CreateObject("Scripting.Dictionary")
> myA.Interior.ColorIndex = xlNone
> For Each myC In myA
>  If Not IsEmpty(myC.Value) Then
>   If Not myDic.Exists(myC.Value) Then
>    myDic(myC.Value) = True
>    Set fCell = myA.Find(what:=myC.Value, LookIn:=xlValues, LookAt:=xlWhole)
>    fAddr = fCell.Address
>    Do
>     fCell.Interior.Color = vbYellow
>     Set fCell = myA.FindNext(fCell)
>    Loop While fAddr <> fCell.Address
>   End If
>  End If
> Next
> Set myA = Nothing
> Set myC = Nothing
> Set fCell = Nothing
> Set myDic = Nothing
>End Sub
>
>Sub Sample2()
>Dim cnt As Long
>Dim colorTbl As Variant
>Dim fAddr As String
>Dim myA As Range, myC As Range, fCell As Range
>Dim myDic As Object
> Set myA = Range("C4:F11") '<== 指定範囲 例
> Set myDic = CreateObject("Scripting.Dictionary")
> myA.Interior.ColorIndex = xlNone
> colorTbl = Array(vbYellow, vbCyan, vbGreen, vbMagenta, vbBlue, vbRed)
> For Each myC In myA
>  If Not IsEmpty(myC.Value) Then
>   If Not myDic.Exists(myC.Value) Then
>    myDic(myC.Value) = True
>    Set fCell = myA.Find(what:=myC.Value, LookIn:=xlValues, LookAt:=xlWhole)
>    fAddr = fCell.Address
>    Do
>     fCell.Interior.Color = colorTbl(cnt Mod 6)
>     Set fCell = myA.FindNext(fCell)
>    Loop While fAddr <> fCell.Address
>    cnt = cnt + 1
>   End If
>  End If
> Next
> Set myA = Nothing
> Set myC = Nothing
> Set fCell = Nothing
> Set myDic = Nothing
>End Sub
ありがとうございます。
Sub Sample1()で動作確認をいたしました。
指定した範囲内で重複した文字列(2個)のセルが黄色になりました。
しかし指定した範囲内で重複していない文字列のセルも黄色になります。
よろしくお願いいたします。
1 hits

【66409】指定のセル範囲内の文字列 ai 10/9/3(金) 10:48 質問
【66410】Re:指定のセル範囲内の文字列 UO3 10/9/3(金) 11:28 発言
【66411】Re:指定のセル範囲内の文字列 ai 10/9/3(金) 11:36 お礼
【66412】Re:指定のセル範囲内の文字列 UO3 10/9/3(金) 12:07 回答
【66413】Re:指定のセル範囲内の文字列 ai 10/9/3(金) 12:49 お礼
【66414】Re:指定のセル範囲内の文字列 UO3 10/9/3(金) 12:53 発言
【66415】Re:指定のセル範囲内の文字列 UO3 10/9/3(金) 12:56 発言
【66416】Re:指定のセル範囲内の文字列 UO3 10/9/3(金) 13:03 回答
【66417】Re:指定のセル範囲内の文字列 ai 10/9/3(金) 13:33 お礼
【66418】Re:指定のセル範囲内の文字列 ai 10/9/3(金) 13:45 お礼
【66419】Re:指定のセル範囲内の文字列 ai 10/9/3(金) 14:17 質問
【66420】Re:指定のセル範囲内の文字列 UO3 10/9/3(金) 15:27 回答
【66421】Re:指定のセル範囲内の文字列 ai 10/9/3(金) 16:16 お礼
【66422】Re:指定のセル範囲内の文字列 UO3 10/9/3(金) 16:45 回答
【66423】Re:指定のセル範囲内の文字列 ai 10/9/3(金) 17:32 お礼
【66433】Re:指定のセル範囲内の文字列 UO3 10/9/4(土) 10:05 回答

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