1

日付の列を検索し、今日の日付でセルのアドレスを返す VB スクリプトを作成しようとしています。何らかの理由で、「必要なオブジェクト: 'FoundCell'」エラーが発生し続けます。誰かが私のコードを見て、私を修正してもらえますか? WScript.Echo を使用して日付を読み取ることができますが、find 関数で使用するとすぐにエラーが発生します。

Set oExcel = CreateObject("Excel.Application")
Set wshShell = CreateObject("Wscript.Shell")

File_Path = "D:\Work\Personal Timemanagement\test.xlsx"


Set oData = oExcel.Workbooks.Open(File_Path)

WHAT_TO_FIND = Date()
WScript.Echo WHAT_TO_FIND

Set FoundCell = oData.Worksheets("tst2").Range("A1:A40").Find(WHAT_TO_FIND)
oExcel.Cells(4,4) = FoundCell.Address


oExcel.ActiveWorkbook.SaveAs "D:\Work\Personal Timemanagement\test2.xlsx"
oExcel.ActiveWorkbook.Close

oExcel.Application.Quit

WScript.Quit

助けてくれてありがとう!

4

3 に答える 3

1

WHAT_TO_FIND1 は #14/10/2014# のような値を返します。そのため、WHAT_TO_FIND1=Replace(WHAT_TO_FIND,"#","Nothing") を使用して # を何も置き換えません。

置き換えられると、上記のコードが機能します

于 2014-04-14T06:39:50.073 に答える
0

Find()Nothing指定された範囲内に指定された値が見つからない場合に返されます。ワークブックのA1:A40シートの範囲に実際に現在の日付のセルが含まれていること、およびセルが日付として書式設定されていることを確認してください。たとえば、日付を探していて、範囲に文字列. 「テキスト」セルを見つけるために、ステートメントを次のように変更します。tst2D:\Work\Personal Timemanagement\test.xlsxFind()7/11/20137/11/2013

Set FoundCell = oData.Worksheets("tst2").Range("A1:A40").Find(CStr(WHAT_TO_FIND))
于 2013-07-11T15:00:37.347 に答える