Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


7731 / 13644 ツリー ←次へ | 前へ→

【37205】VLOOKUP関数について みほ 06/4/25(火) 17:54 質問[未読]
【37209】Re:VLOOKUP関数について Kein 06/4/25(火) 18:10 回答[未読]

【37205】VLOOKUP関数について
質問  みほ  - 06/4/25(火) 17:54 -

引用なし
パスワード
   エクセルの質問です!!
VLOOKUP関数で、参照値を見て、範囲内で列番号の情報を返すのですが、その範囲内に複数の情報が存在する場合、一番上の情報しか返せないのですか?

(例)
みなみさん(参照値)
範囲内には↓
列番号
みなみさん 赤
みなみさん 白
みなみさん 青
のような形の場合、一番上の「赤」しか返せません。すべて返したいのですが、どなたか賢い方教えて下さい!!!! で、参照値を見て、範囲内で列番号の情報を返すのですが、その範囲内に複数の情報が存在する場合、一番上の情報しか返せないのですか?

(例)
みなみさん(参照値)
範囲内には↓
     列番号
みなみさん 赤
みなみさん 白
みなみさん 青
のような形の場合、一番上の「赤」しか返せません。すべて返したいのですが・・・

【37209】Re:VLOOKUP関数について
回答  Kein  - 06/4/25(火) 18:10 -

引用なし
パスワード
   フィルターで絞って、可視セル範囲の目的の列の値を取得する、という方法も
あります。処理速度は殆ど変わらないでしょう。ただし、当然ですが項目行が
必要になります。概ね・・

Dim MyR As Range

Set MyR = Range("C2", Range("C65536").End(xlUp))
Range("A:A").AutoFilter 1, "みなみさん"
On Error Resume Next
Set MyR = MyR.SpecialCells(12)
If Err.Number <> 0 Then
  MyR.Copy Sheets("Sheet2").Range("A2")
End If
Set MyR = Nothing
ActiveSheet.AutoFilterMode = False

みたいなコードになります。 
   

7731 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free