• ベストアンサー

エクセル2000で、表の中の同じ値のあるセル地番を表示させたいのですが?

表の中の同じ値のあるセル地番を表示させたいのですが、どうすれば良いのですか ?

質問者が選んだベストアンサー

  • ベストアンサー
  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.2

同じような質問がありました。 『どういう式を使うのか?教えてください!』http://www.okweb.ne.jp/kotaeru.php3?q=177971 出来上がった表に対して、同じ値に色を付ける方法です。 >セル地番を表示させたいのですが この『表示』をどう実現すればいいのか質問からははっきりしませんが、『入力したセルと同一値のセル』に色を付けてみました。 下の例では、表をセル範囲A1:C10として同一値があればセルに色を付けています。 範囲と色(コードの『***』がある箇所)は実状に合うように修正して下さい。 セルのアドレスを出力することも可能ですね。 Sheet1で行う例です。 ツール→マクロ→Visual Basic Editor でVBE画面に移り、表示→プロジェクトエクスプローラ でプロジェクトエクスプローラを表示し、そこのSheet1をダブルクリックし出てきたコードウインドウに下記マクロを貼り付けます。 Private Sub Worksheet_Change(ByVal Target As Excel.Range)   Dim rg As Range 'セル   Dim checkFlg As Boolean '同一値があったか   Dim checkRg As Range 'チェックする表番地   Set checkRg = Range("A1:C10") '*** チェックする表の範囲をセットする   Const myColorIndex = 36 '*** 色のインデックス(好きな番号にする)   On Error GoTo ErrorHandler 'エラーが発生した場合は何もしない   '入力が1つのセルに対して行われた場合   If Target.Count = 1 Then     '表の中に入力してなければ何もしない     If Intersect(checkRg, Target) Is Nothing Then       Exit Sub     End If     '入力されている範囲を調べる     For Each rg In checkRg       If Val(rg) = Val(Target) Then         '値が一致していたら         If rg.Address <> Target.Address Then           '値が一致して別のセルなら色を塗る           rg.Interior.ColorIndex = myColorIndex           '同一値があった!           checkFlg = True         Else           '自分だったら色を塗らない           rg.Interior.ColorIndex = xlNone         End If       Else         '値が違っていれば塗らない         rg.Interior.ColorIndex = xlNone       End If     Next   End If   If checkFlg Then     '値が一致したセルが有れば自分を塗る     Target.Interior.ColorIndex = myColorIndex   End If   Exit Sub ErrorHandler: End Sub

その他の回答 (1)

  • kougasha
  • ベストアンサー率32% (34/105)
回答No.1

MATCH関数、INDEX関数とかを調べて見てはいかが?

masatarou
質問者

補足

お返事ありがとうございます。 MATCH関数、INDEX関数を調べてみたのですが、違うような気がします。 例えば、   A     1  1     2  7     3  3     4  1     5  2     6  1 とあるとします。 A1に1が入るとすると、1と同じ値のあるセルはA4とA6 です。 このA4とA6を導き出すような関数、又は仕方があれば教えてほしいのです。 よろしくお願いします。

関連するQ&A

専門家に質問してみよう