advanced help
per page, with , order by , clip by
Results of 1 - 1 of about 228 for エラー値 #N/A (0.017 sec.)
エラー値 (861), #n/a (1385)
[[20160221122029]]
#score: 10842
@digest: 77addf39007ca5242b85c85092629294
@id: 69971
@mdate: 2016-02-22T01:53:50Z
@size: 3375
@type: text/plain
#keywords: 見解 (3289), 、ak (2887), 索エ (2670), 重ル (2213), ・転 (1891), 常終 (1831), ー以 (1662), 索・ (1512), 行時 (1431), 内側 (1347), 日) (1198), worksheetfunction (1144), vlookup (1090), 2016 (1069), (bo (1021), 不備 (974), マナ (952), エラ (828), 時エ (825), クラ (799), ラー (772), 正常 (752), 個人 (607), ラス (599), ープ (597), cells (572), ルー (545), 記述 (527), unknown (440), 検索 (438), 効率 (405), (se (402)
『検索がうまくいきません』(book)
vlookup関数で下記のコード For Next と合わせて使用すると、エラーになってしまいます。どのようにコードを記述すればいいでしょうか? For i = 1 To 100 For b = 1 To 15 Worksheets("sheet1").Cells(i, 37).Value = WorksheetFunction. _ VLookup(Cells(i, 36), Range(Cells(6, 181), Cells(105, 225)), _ 15 + b, False) Next b Next i < 使用 Excel:unknown、使用 OS:unknown > ---- 質問とは無関係ですが 2重ループになっていますが、内側のループが意味がないような気がします。 b=15の結果が最後に上書きされておしまい? (マナ) 2016/02/21(日) 12:45 ---- 考えられること ・VLOOKUPで検索値が範囲内にない ・マクロ実行時のActivesheetが"sheet1"でない (マナ) 2016/02/21(日) 12:52 ---- マナさんから指摘がありますが、もしかしたら、セットする列、AK列だけではなく、AK列からAY列までにしたかったんでしょうかね? どんな検索・転記を行いたいのか、説明いただければ、この処理、ループなしで 2行で書くことができるかもしれません。 あと、Cells を使う場合、列番号が小さければなんとなくイメージはわくのですが、181 とか 225 となると これって、どの列? と、コードの可読性に、難ありかも。 Cells(6,"FY") といったように記述したほうが(若干効率は悪いですが)よろしいのでは? ところで、【エラーになってしまいます】 実行時にエラーになるということでしょうね。 WorksheetFunctionクラスの関数を使うと、シート上で #VALUE! や #N/A といったケース、実行時エラーになります。 Applicationクラスの関数で記述すると結果がエラー値で返ってくるので、実行時エラーにはなりません。 (β) 2016/02/21(日) 13:04 ---- すみません bは必要ありませんでした。 セル行1から100までを下記のコードで検索できますでしょうか? For i = 1 To 100 Worksheets("sheet1").Cells(i, 37).Value = WorksheetFunction. _ VLookup(Cells(i, 36), Range(Cells(6, 181), Cells(105, 225)), _ 15, False) Next i (book) 2016/02/21(日) 13:15 ---- βさんからコメントありましたが worksheetfunction.vlookupでなく application.vlookupとすれば、 エラーはで止まることはないでしょう また、こんな感じで、実際に計算式をセルに代入したあと、 結果を値に変換する例も、よく見かけます。 Sub test() With Worksheets("Sheet1").Range("AK1:AK100") .Formula = "=IFERROR(Vlookup(AJ1,$FY$6:$HQ$105,15,false),"""")" .Value = .Value End With End Sub >ループなしで 2行で書くことができるかもしれません。 というのは、おそらくこのことかと思います ※式に間違いがありましたので、修正しました (マナ) 2016/02/21(日) 14:12 ---- For i の上に On Error Resume Next を付けるという方法もあります。 (se_9) 2016/02/21(日) 14:18 ---- 失礼します >> For i の上に On Error Resume Next を付けるという方法もあります。 β個人としては、この方法は、あまりとりたくない方法です。 VLOOKUP での検索エラー以外に、もし、コードそのものに不備があった場合、エラーなく正常終了してしまい 結果がおかしい、なぜだろうと 回り道をしてしまう可能性もありますので。 なぜだろうと、わかればまだましで、わからないまま、正常に処理されたと、そう受け取ってしまうと、もっとやっかいですし。 あくまで個人的見解です。 (β) 2016/02/21(日) 17:14 ---- βさんの見解は正しいと思います。余計な回答を書いてしまって申し訳ありません。 (se_9) 2016/02/22(月) 10:53 ...
http://www.excel.studio-kazu.jp/wiki/kazuwiki/201602/20160221122029.txt - [detail] - similar
PREV NEXT
Powered by Hyper Estraier 1.4.13, with 97018 documents and 608145 words.

訪問者:カウンタValid HTML 4.01 Transitional