• ベストアンサー

塗りつぶしたセルの対称となるセルの数字を抜き出す2

いつもお世話になっております。 もう1つよろしければ回答をお願いいたします。 【質問】 添付図の様にA1~G30までに1~37迄の数字が重複有りで入っています。 それを、I2~O2の数字で検索します。 検索できたらそのセルを赤く塗り潰します。 赤く塗りつぶしたセルがD列以外の場合、 対称(A列の対称はG列、B列の対称はF列、C列の対象はE列)となる数字を I5から下に並べる方法が知りたいです。 【注意事項】 ・使用するエクセルは2016です。 ・I2~O2に入る数字は1~37迄で重複無しです。 ・添付図は途中の4行目迄のサンプルとなっております。 以上、よろしくお願いいたします。

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

  • ベストアンサー
  • HohoPapa
  • ベストアンサー率65% (454/691)
回答No.1

もしVBAの学習が目的の質問なら 前回私が提示したコードをじっくり追い、 どこを修正すれば対応できるの試行するのも 学習の一つになると思いますヨ。 以下に今回のコードをポストし、 合わせてどこを修正したのかわかるようにしました。 '☆の行です。 Sub Sample()  Dim RngKey As Range  Dim RngAll As Range  Dim RngHit As Range  Dim PutLine As Long  Dim RowNum As Long  Dim ColNum As Long  Dim KeyCol As Long    Set RngKey = Range("I2:O2")  '☆  Set RngAll = Range("A1:G30") '☆  Set RngHit = Range("I5:I184") '☆    PutLine = 0    For RowNum = 1 To RngAll.Rows.Count   For ColNum = 1 To RngAll.Columns.Count    RngAll.Cells(RowNum, ColNum).Interior.Pattern = xlNone    For KeyCol = 1 To RngKey.Columns.Count     If RngAll.Cells(RowNum, ColNum).Value = _       RngKey.Cells(1, KeyCol).Value Then      RngAll.Cells(RowNum, ColNum).Interior.Color = rgbRed      If ColNum <> 4 Then         '☆       PutLine = PutLine + 1       RngHit.Cells(PutLine, 1).Value = _        RngAll.Cells(RowNum, 8 - ColNum).Value '☆      End If     End If    Next KeyCol   Next ColNum  Next RowNum End Sub

sazanami0422
質問者

お礼

回答いただきありがとうございます。 最初に教えていただいたソースを修正したのですが、 実行したら”実行時エラー:1004”と出て悩んでました。 最後の☆の部分の、RowNum, 8  をRowNum, 6としていました。 まだまだです。 ありがとうございました。

関連するQ&A

  • 塗りつぶしたセルの対称となるセルの数字を抜き出す

    いつもお世話になっております。 よろしければ回答をお願いいたします。 【質問】 添付図の様にA1~E20までに1~31迄の数字が重複有りで入っています。 それを、G2~L2の数字で検索します。 検索できたらそのセルを赤く塗り潰します。 赤く塗りつぶしたセルがC列以外の場合、 対称(A列の対称はE列、B列の対称はD列)となる数字を G5から下に並べる方法が知りたいです。 【注意事項】 ・使用するエクセルは2016です。 ・G2~L2に入る数字は1~31迄で重複無しです。 以上、よろしくお願いいたします。

  • 重複数字の数に応じてセルに色をつける。

    このカテゴリーのエクセルの達人の方々に質問です。 どなたか回答して頂ける方がお見えでしたらよろしくお願いします。 (ちゃんとした回答ではなく、文句やクレーム等を混ぜた記載はご遠慮ください。  また私の質問が気に入らない場合は無視して頂ければ結構です。) 【質問】  添付図のとおり、1列×25行の中に数字が1~31まであり、  重複数字を含んで昇順に並んでおり、それが4列あります。  1列毎に数字を見て以下の条件にあえばセルを塗り潰します。   2個重複⇒セルを黄色に塗り潰す。   3個重複⇒セルを青色に塗り潰す。   4個重複⇒セルを緑色に塗り潰す。   5個重複⇒セルを赤色に塗り潰す。   上記を実現する方法をVBAで実現する方法が知りたいです。   【注意事項】   ・1列×25行の中にある数字の並びは毎回異なります。   ・1列×25行の中に重複数字が無い場合があります。(例:A列)   ・VBAで実現する方法~、と書きましたが、    同様のことが他の方法でも実現できればそれを教えて下さい。   ・使用するエクセルは2021です。 以上、よろしくお願いします。

  • 重複数字を切り取り空いた隙間を右詰めするには?

    どなたかご存知でしたら回答をお願いします。 【質問】 下図の様に5×5のセルが2つあり、それぞれ1~99迄の数字がランダムに 重複有りで入っています。5×5のセルの中には行の連続数字(例:02 03) が入っています(1個も無い場合もあります。1行全部(5個)の場合もあります。)。 行の連続数字を見つけたら、その連続数字を切り取り「◎重複数字」の下に順番に 並べていき、切り取られた空白箇所を埋めるために左側にある数字を右に詰める 方法が知りたいです。 【例題】 A B C D E  F  G H I J K   1 0107091122     0310203031 2 0412141523     0102070922 3 0713171825     0411121415 4 0616212426     0213171823 5 0819272829     0607080910 【実行後】 A B C D E F  G H I J K   1 0107091122          031020 2   041223          070922 3   071325            04 4 0616212426          021323 5    0819           ◎重複数字 14 15         30 31 17 18         01 02 27 28 29       11 12               14 15              17 18              06 07 08 09 10       【注意事項】  ・使用するエクセルは2010です。  ・セルの中の数字は2桁で表しています。(例:1ではなく01)  ・5×5のセルの位置は下記のとおりです。    1個目の5×5マス・・・A1~E5    2個目の5×5マス・・・G1~K5     ※F列は空白列として空けています。   ・回答はVBでも関数でも構いません。 以上、よろしくお願いします。

  • セルの数字を昇順に並び替えて重複削除する方法

    いつも大変お世話になっております。 どなたかご存じの方がお見えでしたら回答頂けると幸いです。 【質問】  添付図のとおり、2列×20行の数字が【入力値2列】欄に入っています。  この数字を昇順に並び替えて重複数字を削除したものを【重複チェック済2列】に  出力します。また、【入力値2列】欄の数字を【入力値1列】に縦1列にして数字 を昇順に並び替えて重複数字を削除したものを【重複チェック済1列】に出力しま す。具体的には下記(1)~(4)の手順です。質問は2列×20行での場合ですが、  2列×200行の場合でも上記のことができるようにしたいです。    *********************************** (1)入力値2列(A列・B列)に2つの値をセットします。 (2)入力値2列(A列・B列)の値を重複チェック済2列(D列・E列)に並べて昇順に並び替えて重複数字を削除します。 (3)入力値2列(A列・B列)の値を入力値1列(G列)に1列にセットします。 (4)入力値1列(G列)の値を重複チェック済1列(I列)に並べて昇順に並び替えて重複数字を削除します。 以上、よろしくお願いします。

  • 2個の数字をひと塊として同じ塊を探してセルの塗潰し

    いつもお世話になっております。 ご存じの方がお見えでしたら回答をよろしくお願い致します。 【質問】  添付図の様に各列2行分の数字(破線で囲った部分)をひと塊と捉え、  5列×20行の中で同じ塊が重複して存在したら黄色に塗潰す方法が  知りたいです。 【注意事項】  ・5列×20行に入る数字は1~31迄で重複してランダムに入ります。  ・ひと塊の重複は最低1つは存在します。  ・使用するエクセルは2016です。  以上、よろしくお願いします。

  • 重複数字の塗潰しとその結果をまとめるには?

    いつもお世話になっております。 ご回答頂けたらありがたいです。 添付図の様に6×7のセルが5つあります。 1~37迄の数字が重複有りで入っています。 重複が2個、3個、4個あれば、黄色、緑色、赤色で その数字のセルを塗潰し、最後にまとめとして、 実際に重複した数字を右側に左から昇順で並べるにはどうすればよいですか? 尚、最大重複は4個迄とします。 よろしくお願いします。

  • 同じ列に2個の連続数字が2個以上ある場合に塗潰す

    いつもお世話になっております。 ご存じの方がお見えでしたら回答をよろしくお願い致します。 【質問】  添付図の様にA列~E列、それぞれ20行の中に1~31までの数字が重複あり  で入っています。それぞれの列で連続する数字を見た場合、  同じ数字の並びがありそれが2個以上ある場合にセルを塗潰す方法が知りたいです。  ※1列に連続する数字が2個無い場合もありますし、最大3個ある場合もあり   ます。 【注意事項】  ・使用するエクセルは2016です。  ・セルの中の1~31までの数字は毎回ランダムに変わります。 以上、よろしくお願いします。

  • 【再】連続する同じ数字のセルの塗り潰しがしたい。

    先程は、質問の添付図が添付されていなかたので再掲載します。 @@@@@@@@@@@@@@@@@@@@@ このカテゴリーのエクセルの達人の方々に質問です。 どなたか回答して頂ける方がお見えでしたら回答よろしくお願いします。 (ちゃんとした回答ではなく、文句やクレーム等を混ぜた記載はご遠慮ください。  また私の質問が気に入らない場合は無視して頂ければ結構です。) 【質問】  添付図のとおり、4行×25列の中に数字が1~31まであり、重複して入っています。  この中にある数字で、同じ数字が縦・右斜め・左斜め(横は無い)のいずれかに該当すれば  その数字のセルを黄色で塗り潰す方法をVBAで実現する方法が知りたいです。   【注意事項】   ・4行×25列の中にある数字の並びは毎回異なります。   ・VBAで実現する方法~、と書きましたが、    同様のことが他の方法でも実現できればそれを教えて下さい。   ・使用するエクセルは2021です。 以上、よろしくお願いします。

  • 同じ数字を見つける方法

    どなたかご存じでしたらご回答よろしくお願いします。 【質問】  エクセルシートA列~F列に数字が入っています。  A列の数字がG列~L列迄の数字のいずれかと同じ値の場合、  M列~R列に一致した値を出力する。これをF列まで繰り返し行う方法が知りたいです。  ◎エクセルシート A B C  D E  F  G  H  I  J  K  L  M  N O P Q R    4 19 20  27 28 14  5  15 18 20  23 28  20 28     5  9 15 19 30  9  5  9  18 22  24 25  5  9  <= A列~F列で9が重複     5  7 17  25 27 18  5  14 18 23  29 31  5  18  2  3 5 14 24  9   5  9 16  22  29 30  5  9   6 12 21 24 28 15  4  5  11 20  26 29    6  8 9 21 26  4   4  8  13 19  26 27  4  8  26 ●注意事項   ・”数字”とは1~31迄の数字の事です。   ・A列~F列の数字は重複する場合があります。   ・A列~F列の数字がG列~L列に存在しない場合があります。    その場合のM列~R列は空白です。   ・使用するエクセルは2010です。 以上、よろしくお願いします。

  • 8方向の数字間差が指定した間差と同じ場合に塗り潰す

    いつもお世話になっております。 どなたかご存知の方がおられましたら回答をよろしくお願い致します。 【質問】  添付図のとおり、A1~G15、I1~O15迄1~99迄の数字が重複在りで入って  います。Q1に”数字間差”としてR1に数字間差を指定します。  A1のセルの数字から右側順番に8方向に隣り合う数字との差がR1に指定した  数字間差と一致した場合にセルを黄色に塗り潰す方法が知りたいです。 〇塗りつぶしの例1(添付図参照)  A1:1の場合、隣り合う8方向の数字としては、B1、A2、B2の3つしか  無く、B1-A1、A2-A1、B2-A1としても数字間差の7にはならないため  塗りつぶしは無い。 〇塗りつぶしの例2(添付図参照)  J5:6の場合、隣り合う8方向の数字としては、I4、J4、K4、I5、  I6、J6、K6、K5の8つあり。I4-J5、J4-J5、K4-J5、  I5-J5、I6-J5、J6-J5、K6-J5、K5-J5で数字間差が7となる  K5、I6が黄色く塗り潰される。 【注意事項】  ・使用するエクセルは2016です。  ・数字間差で指定するのは1~99迄です。 以上、よろしくお願いします。

専門家に質問してみよう