4

この状況で使用するコードを知る必要があります。

特定のレコード番号を見つけるために vba で vlookup を使用しています。次に、レコードが配置されている行番号を知る必要があります。次のことを試しましたが、エラーが発生しました。

nRowSavedRecord = [Vlookup(Cells(nRows, nColRecNmbr),Range("RecordInfo"),2,False).Row]

これにより、" Type Mismatch" エラーが発生します。

また

nRowSavedRecord = Application.vlookup(cells(nRows, nColRecNmbr), Range("RecordInfo"),2,False).Rows

これにより、" Object Required" エラーが発生します。

私が欠けているものは何でも単純だと確信しています。
(nRowSavedRecordLong) 誰か助けてくれますか?

ありがとう!

4

2 に答える 2

5

あなたの質問にはいくつかの問題があります。

  • VLookup は Application のプロパティではなく、Application.WorksheetFunction のプロパティです
  • VLookup はセルへの参照ではなく値を返すため、そこから行を取得することはできません

たとえば次のように、Match 関数を使用することをお勧めします。

nRowSavedRecord = Application.WorksheetFunction.Match(Cells(nRows, nColRecNmbr), Range("RecordInfo"), 0)

最後の 0 は、これが完全一致であることを意味します。RecordInfoまた、それが1次元の範囲であることを確認する必要があります

于 2012-12-10T18:16:19.533 に答える
2

Match機能を使ってみましたか?

http://office.microsoft.com/en-gb/excel-help/match-function-HP010062414.aspx

于 2012-12-10T18:13:03.937 に答える