私はこの機能をしばらく働いており、それを動作させるように見えることはできませんし、私の特定の問題を解決するのに役立つ投稿を見つけることもできませんでした。vba検索機能の変数
私が達成しようとしているのは、Sheet4のアクティブセルの左側に1つのセルであるDate値を使用して、Sheet4の列A:Gのいずれかにある可能性のある日付を見つけることです。
以下のコードは、私の検索で(1/1/16)のような静的な値があったときに働いていましたが、今は変数を使用しようとしています。私のwithステートメントの2行目では、静的な検索条件があったときにそれを選択していましたが、変数を追加すると「オブジェクト変数またはブロックが設定されていません」というエラーが表示されるので、それは今、ちょうど私のカーソルがどんなセルに入っていようとそれを選ぶようになります。これに関する助けがあれば、大歓迎です。
Sub test()
Dim rFoundCell As Range
Dim vDate As Variant
Dim Expense As Worksheet
Dim Data As Worksheet
Set Expense = Sheet9
Set Data = Sheet4
Set rFoundCell = Range("A1")
Set vDate = ActiveCell.Offset(0, -1)
Set rFoundCell = Data.Range("A:G").find(What:=vDate, After:=rFoundCell, _
LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByRows, _
SearchDirection:=xlNext, MatchCase:=False)
Sheet4.Activate
With rFoundCell
ActiveCell.Select
ActiveCell.Offset(1, 0).Copy
Sheets("Expense Data").Select
Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Transpose:=True
ActiveCell.Offset(1, 0).Select
End With
「vDate」の種類は何ですか?文字列リテラル入力で動作する場合、 'As Variant 'ではなく' As String'を宣言してみましたか?また、 'rFoundCell'が' Nothing'であるケースを処理する必要があります。 'With'ブロックはランタイムエラー91で爆発します。@cyboashu悪いアドバイスでは、' Set' *値*、 'Set' *オブジェクトリファレンス*。 –
が合意されました。私の最後にはテストしなかった。コメントは削除されました! – cyboashu