※ ChatGPTを利用し、要約された質問です(原文:インデックスが有効範囲にありませんとは!??)
インデックスが有効範囲にありませんで止まってしまいます・・・
このQ&Aのポイント
FNameのファイルのA列とB列の最終行まで配列で取り込むマクロの途中で、インデックスが有効範囲にありませんで止まってしまいます。
Cells.FindとActiveCell.Valueの2か所でインデックスが有効範囲にありません。
原因がわかりませんので、ご存知の方お教えいただけないでしょうか?
FNameのファイルをひらきA列(数字)とB列(日付)最終行まで配列で取り込み
F1Nameのファイルをひらき日付を検索し同じ日付のセルを見つけ3列右側に移動した
位置に数字を入力しその隣に 異常無しを書き込むマクロですが
Cells.Find(What:=serch_date(z2),
ActiveCell.Value = No_data(z2)
の2か所でインデックスが有効範囲にありませんで止まってしまいます・・・
原因がわかりませんので、ご存知の方お教えいただけないでしょうか?
Windows(FName).Activate
Range("B1").Select
'選択しているセルのアドレスの取得
serch_u = ActiveCell.Address
'最終行検索(エクセルの機能)
Selection.End(xlDown).Select
'選択しているセルの行番号の取得(データの最終行)
end_row = ActiveCell.Row
'選択しているセルのアドレスの取得
serch_d = ActiveCell.Address
'最大値検索対象区間の選択(データの開始位置からデータの最終行)
Range(serch_u, serch_d).Select
serch_date = Range(serch_u, serch_d)
Range("A1").Select
'選択しているセルのアドレスの取得
serch_u1 = ActiveCell.Address
'最終行検索(エクセルの機能)
Selection.End(xlDown).Select
'選択しているセルの行番号の取得(データの最終行)
end_row1 = ActiveCell.Row
'選択しているセルのアドレスの取得
serch_d1 = ActiveCell.Address
'最大値検索対象区間の選択(データの開始位置からデータの最終行)
Range(serch_u1, serch_d1).Select
No_data = Range(serch_u1, serch_d1)
Windows(F1Name).Activate
For z2 = LBound(serch_date) To UBound(serch_date)
Cells.Find(What:=serch_date(z2), After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
, MatchByte:=False, SearchFormat:=False).Activate
Dim FoundCell As Range ''またはバリアント型(Variant)とする
Set FoundCell = Range("A1").CurrentRegion.Find(What:=serch_date(z2))
If FoundCell Is Nothing Then
MsgBox "検索に失敗しました"
Else
FoundCell.Select
End If
ActiveCell.Offset(0, オフセット値).Activate
ActiveCell.Value = No_data(z2)
ActiveCell.Offset(0, 1).Activate
ActiveCell.FormulaR1C1 = "異常無し"
Next z2
お礼
まさにおっしゃるとおりでした!! マクロの記録と、インターネットで検索したコードを 切った張ったで作ってますので、基本無しの自己流ですので ご助言本当に助かりました。 お忙しいところ本当にありがとうございました!!