Excel VBA質問箱 IV

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

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


9765 / 13646 ツリー ←次へ | 前へ→

【25572】vlookupで検索できないデータ? ikeda 05/6/5(日) 18:43 質問[未読]
【25574】Re:vlookupで検索できないデータ? Nossori 05/6/6(月) 6:20 発言[未読]
【25575】Re:vlookupで検索できないデータ? Kein 05/6/6(月) 11:31 発言[未読]
【25576】Re:vlookupで検索できないデータ? ikeda 05/6/6(月) 11:33 質問[未読]
【25591】Re:vlookupで検索できないデータ? Nossori 05/6/6(月) 21:56 回答[未読]

【25572】vlookupで検索できないデータ?
質問  ikeda E-MAIL  - 05/6/5(日) 18:43 -

引用なし
パスワード
   どなたか教えてください。
マスタシートの商品名をvlookupで検索してコードを転記しています。
商品名の最初の文字がアルファベット大文字のものだけN/Aになってしまいます。
商品名は昇順にソートしてあり、ほとんどがカナ全角、ひらがな全角、漢字で
始まります。

何故でしょうか?
ちなみにコードは下記のように記述してあります。

  Range("C4").Select
  ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[2],マスタ!R1C1:R" & gyo2 & "C6,6)"
  Selection.AutoFill Destination:=Range("C4:C" & gyo), Type:=xlFillDefault

よろしくお願いいたします。

【25574】Re:vlookupで検索できないデータ?
発言  Nossori  - 05/6/6(月) 6:20 -

引用なし
パスワード
   ▼ikeda さん:
おはようございます。
質問の意味を誤解していれば、お許しください。
要は、VLookUpの関数で大文字のアルファベットを
参照したときにN/Aになるということですね?

マクロで試してみましたが、問題ありませんが・・・
貴方の現在の「マスタ」の表とマクロのコードを
ここに具体的書かれるともっと分かりやすいのでは?
っと思いますが。

【25575】Re:vlookupで検索できないデータ?
発言  Kein  - 05/6/6(月) 11:31 -

引用なし
パスワード
   大文字のアルファベットが入力されているセルには、目に見えないスペースなどが
含まれている、ということは考えられませんか ? ならば置換で取り除くなどの前処理
が必要になりますが・・。

【25576】Re:vlookupで検索できないデータ?
質問  ikeda E-MAIL  - 05/6/6(月) 11:33 -

引用なし
パスワード
   ありがとうございます。
マスタは
商品名、フレーバー、限定の有無、ブランド、メーカー、カテゴリ
の項目があります。
一部のデータを下記に転記しました。

Cコラーゲンインアセロラ&アロエ250ml,10,1,44,4,2
SWmixアセロラ&レモン 350ml,10,1,40,4,1
SHWmixアセロラ&レモン 500ml,10,1,40,4,1
カクテルP Dジントニック 350ml,9,1,31,3,3
カクテルP Dモスコーミュール 350ml,9,1,31,3,3

ここから商品名で検索してallシートにフレーバー以下のコードを記入していきます。
転記しているコードは以下のものです。
結果はアルファベットで始まるマスタのデータのみNAです。
何故でしょう?

  'マスタからの転記
  'マスタ行数取得
  Sheets("マスタ").Activate
  gyo2 = Sheets("マスタ").Range("a1").CurrentRegion.Rows.Count
Debug.Print "マスタ" & gyo2

  Sheets("all").Activate
  
  'フレーバー
  Range("A4").Select
  ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[4],マスタ!R1C1:R" & gyo2 & "C5,2)"
  Selection.AutoFill Destination:=Range("A4:A" & gyo), Type:=xlFillDefault
  
  '限定有無
  Range("F4").Select
  ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-1],マスタ!R1C1:R" & gyo2 & "C5,3)"
  Selection.AutoFill Destination:=Range("F4:F" & gyo), Type:=xlFillDefault
 
  'ブランド
  Range("G4").Select
  ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-2],マスタ!R1C1:R" & gyo2 & "C5,4)"
  Selection.AutoFill Destination:=Range("G4:G" & gyo), Type:=xlFillDefault
  
  'メーカー
  Range("B4").Select
  ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[3],マスタ!R1C1:R" & gyo2 & "C5,5)"
  Selection.AutoFill Destination:=Range("B4:B" & gyo), Type:=xlFillDefault
  
  'カテゴリ
  Range("C4").Select
  ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[2],マスタ!R1C1:R" & gyo2 & "C6,6)"
  Selection.AutoFill Destination:=Range("C4:C" & gyo), Type:=xlFillDefault

【25591】Re:vlookupで検索できないデータ?
回答  Nossori  - 05/6/6(月) 21:56 -

引用なし
パスワード
   ▼ikeda さん:

今晩は・・・
Vlookpの一致の時は、0又はFalseです。
ですから、「,0」を入れてください。
フレーバーと限定有無の二箇所のところに「,0」を入れたものを
掲載しておきます。他のコードも訂正して下さい。

  'フレーバー
  Range("A4").Select
  ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[4],マスタ!R1C1:R" & gyo2 & "C5,2,0)" ←の「0」です
  Selection.AutoFill Destination:=Range("A4:A" & gyo), Type:=xlFillDefault

  '限定有無
  Range("F4").Select
  ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-1],マスタ!R1C1:R" & gyo2 & "C5,3,0)" ←の「0」です
  Selection.AutoFill Destination:=Range("F4:F" & gyo), Type:=xlFillDefault

・・・・・・・・・・以下同じように「,0」を入れると
出来ました。

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