5

Excel シートで文字列値を見つける方法を教えてください。私は試しobjRange.Find()ていますが、これも間違ったアドレスを与えてくれます。例として、「Object_paint」のアドレスが必要ですが、「Object_paint_and_stk」のアドレスも提供します

正確な値のみを取得するにはどうすればよいですか..?

Set objWorksheet = objWorkbook.Worksheets(worksheet)
Set objRange = objWorksheet.Range("B2:B600")    
Set objFind = objRange.Find("object_paint")

If Not objFind Is Nothing Then
    searchValue = objFind.AddressLocal(False, False)
end if
4

1 に答える 1

4

の最初のヒット

excel range.find exact match site:microsoft.com

は:

Range.Find

そこにあなたが見つけます

ルックアット タイプ: System.Object

Optional Object. Can be one of the following XlLookAt constants: xlWhole or xlPart.

LookAt リンクをたどると、次のように表示されます。

xlPart  Match against any part of the search text.
xlWhole Match against the whole of the search text.

ところで: objTarget とは誰ですか?

アップデート:

コメントで言及した VBA コード スニペットを VBScriptに「移植」する必要があります (ここにいくつかのヒントがあります)。

Option Explicit

' Define Excel Consts unknown to VBScript
Const xlPart  = 2 
Const xlWhole = 1 

Dim oExcel : Set oExcel = CreateObject("Excel.Application")
Dim oWBook : Set oWBook = oExcel.Workbooks.Open("M:\lib\kurs0705\testdata\ut.xls")
Dim oRange : Set oRange = oWBook.Sheets("NewSheet").Range("A1:A11")
' translate named args to positional args
' expression.Find(What, After, LookIn, LookAt, SearchOrder, SearchDirection, MatchCase, MatchByte)
Dim oFnd1  : Set oFnd1  = oRange.Find("Title1", , , xlPart)
WScript.Echo TypeName(oFnd1), CStr(oFnd1)
Dim oFnd2  : Set oFnd2  = oRange.Find("Title1", , , xlWhole)
WScript.Echo TypeName(oFnd2), CStr(oFnd2)

oWBook.Close
oExcel.Quit

出力:

cscript excelfind.vbs
Range Title10
Range Title1
于 2013-11-09T13:06:25.603 に答える