Excel VBA 質問スレッド №2151 (解決済)

VBAのFindで値が存在するのに結果がNothingになる

投稿者 : test_type     投稿日時 : 2025/10/07(Tue) 15:55:29     OS : 未指定     EXCEL : 未指定
シートの1行目に今月の日付が1から31まで入力されており、
昨日日付のセル位置をマクロで取得したいですが、
以下の構文で検索結果がNothingになります。

Dim last_day As Long
Dim FindRng As Range

'-- 昨日日付取得
last_day = Format(Date() - 1, "d")
'-- 検索してセル位置を取得
Set FindRng = Rows(1).Find(last_day, LookIn:=xlValues, LookAt:=xlWhole)


1から31の日付が入力されたセルはセルの書式設定が「通貨(-1,234 赤字)」となっており、
これが原因と思われますが、どうすれば検索結果のNothingを回避できますでしょうか。
上記、セルの書式設定は変更できないものとなっています。

スポンサーリンク
[返信 1] Re : VBAのFindで値が存在するのに結果がNothingになる
投稿者 : test_type     投稿日時 : 2025/10/07(Tue) 16:29:04
■[質問] test_typeさん(2025-10-07 15:55:29)の記事
> シートの1行目に今月の日付が1から31まで入力されており、
> 昨日日付のセル位置をマクロで取得したいですが、
> 以下の構文で検索結果がNothingになります。

> Dim last_day As Long
> Dim FindRng As Range

> '-- 昨日日付取得
> last_day = Format(Date() - 1, "d")
> '-- 検索してセル位置を取得
> Set FindRng = Rows(1).Find(last_day, LookIn:=xlValues, LookAt:=xlWhole)


> 1から31の日付が入力されたセルはセルの書式設定が「通貨(-1,234 赤字)」となっており、
> これが原因と思われますが、どうすれば検索結果のNothingを回避できますでしょうか。
> 上記、セルの書式設定は変更できないものとなっています。


当掲示板について
  • Excel VBA に関する掲示板です。Excel VBA に関する質問や疑問、それに対する解決方法など気軽に投稿してください。
  • 記事内ではHTMLのタグは使用できません。
  • 記事は一度投稿すると修正できません。内容を訂正したい場合は返信で対応してください。
  • Sub〜End Sub、Function〜End Function は自動的にプログラムコードとみなし、枠で囲って見やすくします。
  • Excel VBA とは関係ないことや、他人が不快に思うようなことなど、管理人が適当でないと判断した記事は削除する場合があります。
スポンサーリンク
返信入力フォーム
お 名 前  :
内  容   :

ステータス  :

認証コード  : キャプチャ画像 




( 処理日時 : 2025-10-11 05:53:06 )
タイトルとURLをコピーしました