Excel VBA質問箱 IV

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

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


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

【62812】Vlookup 関数が入っているセルの値を抽出したい kumasan 09/9/5(土) 8:24 質問[未読]
【62813】Re:Vlookup 関数が入っているセルの値を抽... ichinose 09/9/5(土) 9:30 発言[未読]
【62814】Re:Vlookup 関数が入っているセルの値を抽... kumasan 09/9/5(土) 9:48 お礼[未読]
【62815】Re:Vlookup 関数が入っているセルの値を抽... kumasan 09/9/5(土) 11:09 質問[未読]
【62817】Re:Vlookup 関数が入っているセルの値を抽... neptune 09/9/5(土) 18:59 回答[未読]
【62818】Re:Vlookup 関数が入っているセルの値を抽... kumasan 09/9/5(土) 20:55 お礼[未読]
【62819】Re:Vlookup 関数が入っているセルの値を抽... んん。 09/9/6(日) 18:01 発言[未読]

【62812】Vlookup 関数が入っているセルの値を抽出...
質問  kumasan  - 09/9/5(土) 8:24 -

引用なし
パスワード
   kumasanです
久しぶりに必要にかられてVBAを利用することになりました。
Excel 2002 SP3を利用しています

次のようにセル(2,18)にVlookup関数を利用してセル(M2)の値

物品.xlsの中に名前(集中)の中から2列目の値を選択させて
います

 Cells(2, 18).Formula = "= VLookup(M2, 物品.xls!集中, 2,
False)"

選択はできています
セル(M2)の値がみつかれば例えばその値が出ています
今回は"○"を表示させています
みつからない場合は、#N/Aとエラー表示されます

さて、ここで、このCells(2,18)にカーソルを持っていき
その値をhantei( Dim hantei As Variant)という変数に
入れようと思い下記のように記載しています

  Range("R2").Select
  hantei = Str(Range("R2").Select)

しかし、ここでhanteiの中身を表示すると
セル(M2)の値がみつかっても「true」なかっても「true」と
なって
います

この変数hanteiにより、この行の削除をするか、次の処理に進
むか
判定させたいのですが・・・

どのようにすれば、この判定ができるか教えていただけません

よろしくお願いします。


なお次のようにエラー表示なしにして「true」「false」にし
ても
同じ結果でした
Cells(2, 18).Formula = "= IsError(VLookup(M2,
集中物品.xls!
集中, 2, False))"

よろしくお願いします。

【62813】Re:Vlookup 関数が入っているセルの値を...
発言  ichinose  - 09/9/5(土) 9:30 -

引用なし
パスワード
   おはようございます。


>久しぶりに必要にかられてVBAを利用することになりました。
>Excel 2002 SP3を利用しています
>
>次のようにセル(2,18)にVlookup関数を利用してセル(M2)の値
>を
>物品.xlsの中に名前(集中)の中から2列目の値を選択させて
>います
>
> Cells(2, 18).Formula = "= VLookup(M2, 物品.xls!集中, 2,
>False)"
>
>選択はできています
>セル(M2)の値がみつかれば例えばその値が出ています
>今回は"○"を表示させています
>みつからない場合は、#N/Aとエラー表示されます

R2は、上記のような数式だとして・・、

>さて、ここで、このCells(2,18)にカーソルを持っていき
>その値をhantei( Dim hantei As Variant)という変数に
>入れようと思い下記のように記載しています
>
  Range("R2").Select ’これが必要ないかもしれませんよ
  hantei = IsError(Range("R2").Value) 'True エラー False エラーでない
としてみて下さい。
Selectは、Trueを返しますからね・・・

【62814】Re:Vlookup 関数が入っているセルの値を...
お礼  kumasan  - 09/9/5(土) 9:48 -

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

kumasanです
早速、回答をいただきありがとうございました
目からうろこ?・・・

素人でこの解決方法に向けて、2日ほど本とかサイト等に時間を
かけていました

確かに、エラーならtrue
    エラーでなければfalseが返ってきました

ありがとうございました。


>>
>  Range("R2").Select ’これが必要ないかもしれませんよ
>  hantei = IsError(Range("R2").Value) 'True エラー False エラーでない
>としてみて下さい。
>Selectは、Trueを返しますからね・・・

【62815】Re:Vlookup 関数が入っているセルの値を...
質問  kumasan  - 09/9/5(土) 11:09 -

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

kumasanです
先ほどはありがとうございました。
さて、ついでで申し訳ないのですが同じようなことで悩んでいます

先ほどのセルR2をホームポジションにしてR列の2行目から
下にひとつひとつセルを動かして

' カーソルを1つ下にする
 ActiveCell.Offset(1, 0).Select

空白になるまで処理をしたいと思い

Do While ActiveCell.Value = "" 'アクティブセルがヌルになるまで

とか
Do While IsNull(ActiveCell.Value) = ""


これらの式を書きこんでいるのですが、型式があわない
とでます

もし、教えていただければ助かります

よろしくお願いします。

【62817】Re:Vlookup 関数が入っているセルの値を...
回答  neptune  - 09/9/5(土) 18:59 -

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


>Do While ActiveCell.Value = "" 'アクティブセルがヌルになるまで
>
>とか
>Do While IsNull(ActiveCell.Value) = ""
>
>
>これらの式を書きこんでいるのですが、型式があわない
>とでます
まったく何も入力されていない時はEmptyという状態です。
IsEmptyをHelpで調べてみましょう。使用例もあります。

【62818】Re:Vlookup 関数が入っているセルの値を...
お礼  kumasan  - 09/9/5(土) 20:55 -

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

回答ありがとうございました。
数式の入っているセルに対してActiveCell.Valueを求めるのは
確かに型式エラーになるのだろうから
別の方法つ、隣のセルのデータが「有る」か「ない」かをみること
にしました。
それでうまくいきました
neptune さん
ご指摘の方法でもやってみようと思います
ありがとうございました。


>
>>Do While ActiveCell.Value = "" 'アクティブセルがヌルになるまで
>>
>>とか
>>Do While IsNull(ActiveCell.Value) = ""
>>
>>
>>これらの式を書きこんでいるのですが、型式があわない
>>とでます
>まったく何も入力されていない時はEmptyという状態です。
>IsEmptyをHelpで調べてみましょう。使用例もあります。

【62819】Re:Vlookup 関数が入っているセルの値を...
発言  んん。  - 09/9/6(日) 18:01 -

引用なし
パスワード
   マルチポストを明示的に禁止しているサイトとのマルチポストをしてはいけません。

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