解決済み

値が入るセル全体を下にコピーした後に検索する方法2

  • 困ってます
  • 質問No.9555558
  • 閲覧数85
  • ありがとう数0
  • 気になる数1
  • 回答数1
  • コメント数0

お礼率 77% (216/280)

どなたかご存知でしたら回答をよろしくお願いします。
【質問】
下図の様に、a~r、1~10の合計180個のセルに数字が1~99迄の重複有りで
入っています。a1,a2,b1,b2,c1,c2の6つのセルで1つのマスとみなすと、
180個のセルは縦:5マス、横:6マスの合計30マスとなります。
使い方としては、
 (1)複写数欄と検索値欄それぞれに値を入れます。
 (2)複写数欄の数だけ、a1~r10の180個のセルを1塊りとして下にコピーする。
  検索値欄の検索値も1つコピーする。
 (3)コピー後に検索値欄の値でコピーした側のマス(4つのセルの集合)を塗潰す。
  具体的には、
   (1)1つのマスに一致した数字が1個の場合は黄色で塗り潰す。
   (2)1つのマスに一致した数字が2個の場合は赤色で塗り潰す。
   (3)1つのマスに一致した数字が3個の場合は緑色で塗り潰す。
   (4)1つのマスに一致した数字が4個の場合は青色で塗潰す。
   (5)1つのマスに一致した数字が5個の場合は紫色で塗潰す。
   (6)1つのマスに一致した数字が6個の場合はオレンジ色で塗潰す。

〇例題
 a b c d e f g h i j k l m n o p q r
1 02 05 07 07 14 13 15 16 17 28 22 32 33 37 91 92 93 94 95
2 03 03 07 14 13 28 99 31 23 32 31 36 32 37 81 82 83 84 85
3 05 01 07 06 15 07 20 08 26 12 27 19 32 37 71 72 73 74 79
4 04 03 08 10 10 14 12 17 24 18 30 22 37 24 61 60 54 49 48
5 08 01 13 02 16 04 25 09 28 15 34 24 36 34 50 55 52 67 99
6 01 06 05 12 18 14 22 19 23 30 26 35 28 36 41 42 43 44 45
7 02 03 04 11 06 16 20 21 25 26 29 27 31 29 51 68 75 76 77
8 07 07 08 10 09 14 17 15 18 21 19 26 20 34 96 97 88 87 66
9 07 07 10 04 11 05 18 13 27 20 28 33 30 34 86 39 38 49 62
10 07 07 16 14 19 24 24 25 27 26 33 32 35 35 54 86 87 88 78

複写数:01 ※最大1~43の数字が入る。
検索値:07 ※最大43個の数字が右に並ぶ。
【結果】
検索値:07 ※上記、検索値の左から1つずつ値を取得して下記のセルを検索する。

02 05 07 07 14 13 15 16 17 28 22 32 33 37 91 92 93 94 95
03 03 07 14 13 28 99 31 23 32 31 36 32 37 81 82 83 84 85
05 01 07 06 15 07 20 08 26 12 27 19 32 37 71 72 73 74 79
04 03 08 10 10 14 12 17 24 18 30 22 37 24 61 60 54 49 48
08 01 13 02 16 04 25 09 28 15 34 24 36 34 50 55 52 67 99
01 06 05 12 18 14 22 19 23 30 26 35 28 36 41 42 43 44 45
02 03 04 11 06 16 20 21 25 26 29 27 31 29 51 68 75 76 77
07 07 08 10 09 14 17 15 18 21 19 26 20 34 96 97 88 87 66
07 07 10 04 11 05 18 13 27 20 28 33 30 34 86 39 38 49 62
07 07 16 14 19 24 24 25 27 26 33 32 35 35 54 86 87 88 78

a11に”検索値”が1個コピーされ、
次にa1~r10までのセルの内容がa12~r22にコピーされた後、
コピーされた検索値の07で検索後に07が入った下記の6マス(36セル)が塗潰される。
検索値に07を入れたら、下記の6マス(36セル)が塗潰される。
a1,b1,c1,a2,b2,c2 ・・・ 2個一致なので、赤色で塗潰される。
d1,e1,f1,d2,e2,f2・・・ 1個一致なので、黄色で塗潰される。
a3,b3,c3,a4,b4,c4 ・・・1個一致なので、黄色で塗潰される。
d3,e3,f3,d4,e4,f4  ・・・1個一致なので、黄色で塗潰される。
a7,b7,c7,a8,b8,c8 ・・・2個一致なので、赤色で塗潰される。
a9,b9,c9,a10,b10,c10・・・4個一致なので、青色で塗潰される。

※複写数と検索値が複数件ある場合は、複写数の数だけ下にa1~r10の内容がコピーされて、
 検索値の値の左側から1個ずつコピーされその値で検索される。

〇注意事項
 ・使用するエクセルは2010です。
 ・1マス=6セルです。※a1,a2,b1,b2,c1,c2で1マスです。
 ・セルに入っている数字はランダムで、同じ数字の重複は30マス(180セル)全体で
   6個迄です(1マスに6個入る事も有るし、6マスに1個ずつ入る事もあります。)
 ・検索値欄に入力できる数字は最大43個で、1~43迄の数字です。
  ・複写数欄に入力できる数字は1~43迄の1つです。
  ※複写数と検索値の数は一致していない場合はエラーとして動作をSTOPします。
   例1)複写数:3、検索値:2,5,4,37,18 →検索値の数と複写数が不一致。
   例2)複写数:0 検索値:3 →複写数がゼロのため。
   例3)複写数:1 検索値:0 →検索値がゼロのため。
  ※複写数分、a1~r10の180個のセルは下にコピーされ、検索値の値は左から
   1つずづ使用して、実際の検索と結果としての値として使用します。
 ・セルの数字は表示上、2桁で表しています。(例:1ではなく01)
・この質問は先月、「値が入るセル全体を下にコピーした後に検索する方法」という
  タイトルで質問させて頂いた、6セル版での質問です。

以上、よろしくお願いします。

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

  • 回答No.1

ベストアンサー率 61% (383/621)

他カテゴリのカテゴリマスター
こんな事ですか?
Sub Test()
 Dim i As Long, ii As Long, R As Long
 Dim j As Long, n As Long, Colors As Variant

 Colors = Array(vbWhite, vbYellow, vbRed, vbGreen, vbBlue, vbMagenta, 42495)
 Range("A11:R483").Clear
 For i = 1 To Range("T1").Value
  Cells(2, i + 19).Copy Cells(i * 11, "A")
  ii = i * 11 + 1
  Range("A1:R10").Copy Cells(ii, "A")
  For R = ii To ii + 8 Step 2
   For j = 1 To 16 Step 3
    n = Application.CountIf(Cells(R, j).Resize(2, 3), Cells(i * 11, "A").Value)
    Cells(R, j).Resize(2, 3).Interior.Color = Colors(n)
   Next
  Next
 Next
End Sub
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,500万件のQ&Aを分析して最適な回答をご提案します。

関連するQ&A
このやり方知ってる!同じこと困ったことある。経験を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する

特集


感謝指数をマイページで確認!

ピックアップ

ページ先頭へ