[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『条件毎の最終行の位置を取得して色づけするVBA』(ちなこ)
検索の仕方がうまくないのか
最終行の取得しか分かりません。
北海道
北海道
北海道
名古屋
名古屋
埼玉
埼玉
埼玉
東京
千葉
のようなデータで
北海道
北海道
北海道 ※
名古屋
名古屋 ※
埼玉
埼玉
埼玉 ※
東京 ※
千葉 ※
(※がついた行を黄色くする)
といった処理を行いたいです。
< 使用 Excel:unknown、使用 OS:unknown >
(マナ) 2021/12/16(木) 15:14
検索するのは、どの列ですか。
(マナ) 2021/12/16(木) 15:24
Option Explicit
Sub test() Dim dic As Object Dim r As Range, it
Set dic = CreateObject("scripting.dictionary")
For Each r In Cells(1).CurrentRegion.Rows Set dic(r.Cells(1).Value) = r Next
For Each it In dic.items it.Interior.Color = vbYellow Next
End Sub
(マナ) 2021/12/16(木) 15:32
ちなみにお手すきであればですが、どのような処理が行われてるのかの
解説というかコメントを頂く事はお願い出来ますでしょうか。
連想配列のようですが、私が全くの初心者で、
何が起きているかさっぱりです。
勉強不足で申し訳ありませんが、ご教授の程よろしくお願いいたします。
(ちなこ) 2021/12/16(木) 15:55
Sub test2() Dim dic As Object Dim k As Long, s As String
Set dic = CreateObject("scripting.dictionary")
With Cells(1).CurrentRegion For k = .Rows.Count To 1 Step -1 s = .Cells(k, 1).Value If Not dic.exists(s) Then .Rows(k).Interior.Color = vbYellow dic(s) = True End If Next End With
End Sub
(マナ) 2021/12/16(木) 16:02
1)データ範囲のA列を下から順番に調べて
2)県名が,初めて出現したら(dictionaryに未登録なら)
3)その行を着色し
4)Dictionaryに登録する
(マナ) 2021/12/16(木) 16:14
Sub 別案() With Range("A1:O200").FormatConditions With .Add(Type:=xlExpression, Formula1:="=AND($A1<>"""",COUNTIF($A$1:$A$200,$A1)=COUNTIF($A$1:$A1,$A1))") .Interior.Color = vbYellow End With End With End Sub
↑が理解できれば↓でも意味は同じ。
Sub 別案改() Range("A1:O200").FormatConditions.Add(Type:=xlExpression, Formula1:="=AND($A1<>"""",COUNTIF($A$1:$A$200,$A1)=COUNTIF($A$1:$A1,$A1))").Interior.Color = vbYellow End Sub
(もこな2) 2021/12/16(木) 17:05
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.