添付画像のように、セル("I4:I7")の値である"2022/7/7","2022/7/8","2022/7/9","2022/7/10"を、A列から検索して、一致する行番号(ここでの表でいう10~13行目)を取得する方法を知りたいです。以下のようにマクロを組んでみましたが、実行時エラー '13': 型が一致しません。となり、どこを直したらいいのかわかりません。ちなみに、下のVBAの4行目の変数testをSetするところで、Range("I4")と単独のセル番号のみを指定すると、正常に"10"とメッセージが表示されます。VBAにお詳しい方、是非ともご教示願います。
Dim test
Dim FindCell As Range
Dim SarchRow As Long
Set test = Range("I4:I7")
Set FindCell = Range("A1:A13").Find(DateValue(test), LookIn:=xlFormulas, LookAt:=xlWhole)
SarchRow = FindCell.Row
MsgBox (SarchRow)
No.2ベストアンサー
- 回答日時:
こんにちは、
取り合えず、画像を見ると"2022/7/7"のようなデータではないようなので
Range("I4:I7")、Range("A1:A13")内の値が日付になる値として
DateValue(Range("I4:I7"))のように範囲内の値を取り出すことは出来ませんので、すでに回答にあるように範囲の個々の値を入れて繰り返す必要があります
例
For Each test In Range("I4:I7")
If IsDate(test.Value) Then
Set FindCell = Range("A1:A13").Find(DateValue(test.Value), LookIn:=xlFormulas, LookAt:=xlWhole)
SarchRow = FindCell.Row
MsgBox (SarchRow)
End If
Next
I列で探してK、L、M列に出力したいと言う事でしょうか・・・
例えば
Set FindCell = Range("A1:A13").Find(DateValue(test.Value), LookIn:=xlFormulas, LookAt:=xlWhole)
If Not FindCell Is Nothing Then
test.Offset(, 1).Resize(, 3).Value = FindCell.Offset(, 1).Resize(, 3).Value
End If
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 日付で矢印マクロ 4 2023/07/25 16:47
- Excel(エクセル) 指定文字列が該当するA列をアクティブセルにするには 3 2022/08/17 13:18
- Visual Basic(VBA) シフト表のコマで「ブロック」されている前の時間の「出」を同一列の「休」と入れ替えたいがふぇきません。 2 2023/08/02 18:49
- Visual Basic(VBA) エクセルVBAで教えて頂きたいのですが? 2 2022/12/31 20:28
- Visual Basic(VBA) 2つのシートの任意のセルの番号が一致したら、一致した行をコピーする VBA 2 2023/06/19 20:48
- Visual Basic(VBA) エクセルVBAのコードで質問です。 下のコードはJ16の文字列をB3を起点とする範囲から探して、見つ 5 2023/04/07 11:07
- Visual Basic(VBA) 飛び地セルの空白判定 2 2022/10/24 15:54
- Visual Basic(VBA) オブジェクトが見つかりません 1 2023/06/24 19:43
- Visual Basic(VBA) findメソッドの変数について 6 2023/06/23 08:01
- Excel(エクセル) マクロで特定日より1日前の日を求めたい 6 2022/05/08 09:23
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教える店舗&オフィスのセキュリティ対策術
中・小規模の店舗やオフィスのセキュリティセキュリティ対策について、プロにどう対策すべきか 何を注意すべきかを教えていただきました!
-
【VBA】findの検索条件における制限について
Visual Basic(VBA)
-
【EXCEL VBA】Range(A:A").Find(What:="キーワード")の1行目について"
Visual Basic(VBA)
-
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
-
4
エクセルでエラーが出て困っています。
Excel(エクセル)
-
5
VBAでループ内で使う変数名を可変にできないか。
Visual Basic(VBA)
-
6
エクセルVBAで5行目からオートフィルタモードに設定したいたい
Excel(エクセル)
-
7
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
8
エクセルVBA テキストボックスに3桁ごとにコンマ
Visual Basic(VBA)
-
9
VBA ユーザーフォームのChangeイベントを停止したい
Access(アクセス)
-
10
Application.ScreenUpdating = Falseが効きません
Visual Basic(VBA)
-
11
UserForm1.Showでエラーになります。
工学
-
12
マクロの「SaveAs」でエラーが出るのを解消したいです(再)
Visual Basic(VBA)
-
13
VBA シートをコピーする際に Copyメソッドは失敗しましたのエラーが出てしまいます
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ExcelVBAを使って、値...
-
特定のセルが空白だったら、そ...
-
EXCELで変数をペーストしたい
-
Excel VBA、 別ブックの最終行...
-
i=cells(Rows.Count, 1)とi=cel...
-
Excelで指定した日付から過去の...
-
TODAY()で設定したセルの日付...
-
【Excel】指定したセルの名前で...
-
screenupdatingが機能しなくて...
-
エクセルvba:自己セルの情報取...
-
【Excel VBA】指定行以降をクリ...
-
Excel VBAで比較して数値があっ...
-
連続する複数のセル値がすべて0...
-
DataGridViewの各セル幅を自由...
-
実行時エラー438 オブジェクト...
-
Excelのハイパーリンクにマクロ...
-
3桁または4桁の数値を時刻に...
-
特定の文字を条件に行挿入とそ...
-
VBからEXCELのセルの値を取得す...
-
クリックしたセルに色を付けるV...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ExcelVBAを使って、値...
-
特定のセルが空白だったら、そ...
-
i=cells(Rows.Count, 1)とi=cel...
-
【Excel VBA】指定行以降をクリ...
-
Excelで指定した日付から過去の...
-
【Excel】指定したセルの名前で...
-
Excel vbaで特定の文字以外が入...
-
特定の文字を条件に行挿入とそ...
-
TODAY()で設定したセルの日付...
-
screenupdatingが機能しなくて...
-
Excelのプルダウンで2列分の情...
-
EXCELで変数をペーストしたい
-
連続する複数のセル値がすべて0...
-
Excel VBA、 別ブックの最終行...
-
VBAを使用した時間管理
-
エクセルVBAでコピーして順...
-
セル色なしの行一括削除
-
【EXCEL VBA】Range("A:A").Fi...
-
VBA コピーして次の値まで貼り...
-
VBA初心者です。結合セルを保持...
おすすめ情報