アプリ版:「スタンプのみでお礼する」機能のリリースについて

マクロ初心者です。
Excelにて、以下のような表データがあるとします。

    A列 B列 C列 D列 E列 …

1行      51  50  52  51
  
2行  50  a   b   c   d

3行  51  e   f    g   h
  
4行  52  i    j    k   l



この表の中で、A列と1行目の値が同じになる交点となるセルの値"以外"を
削除して以下のように表示させたいのですが、
その方法がわかりません。


    A列 B列 C列 D列 E列 …

1行      51  50  52  51
  
2行  50      b      

3行  51  e          h
  
4行  52          k   



単純な行削除・列削除ではないため、
頓挫しています。お知恵を拝借したく、よろしくおねがいします。

A 回答 (2件)

For i = 2 To 4


 For j = 2 To 5
  If Cells(i, 1).Value <> Cells(1, j).Value Then
   Cells(i, j).Value = ""
  End If
 Next
Next

i が縦(2~4)、j が横(B~E)ですね。
3行目にて値が違うことを確認し、4行目にて空にしています。
    • good
    • 0
この回答へのお礼

さっそくでありがとうございました。
行と列でそれぞれ変数を設定するところまでは考えついたのですが、
セル番地として扱うというところに思い至らず…
とても勉強になりました。これで業務が効率化できます。
ありがとうございました。

お礼日時:2012/05/29 12:46

こんにちは、参考に


Sub Test()
  Dim c As Range

  For Each c In Range("B2:E4")
    If Cells(c.Row, 1).Value <> Cells(1, c.Column).Value Then
      c.Value = ""
    End If
  Next
End Sub
    • good
    • 0
この回答へのお礼

ありがとうございます。
変数がいくつも出てくるマクロを組んでいるため
変数が一つで済むところが非常にありがたいです。
これで業務効率化がスムーズに進みそうです。
どうもありがとうございました。

お礼日時:2012/05/30 23:51

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!