Excel_エラー9_インデックスが有効範囲に・
Excel_VBA_ver2000_エラー9_インデックスが有効範囲にありませんが出てしまいます。
何度かお世話になっております。(前回http://okwave.jp/qa/q6283060.html)コードが長いため所々省略しています。
下記←部分にエラ-9が出てしまいます。選択文書数を少なくするとエラーはでません。何故でしょうか?文書は現在300ぐらいです。(今後増えます。)テストで20程選択し,実行すると何もエラーはでませんでした。どうぞ宜しくお願い致します。
Sub try()
Dim BookUrl, BookName, n, hLink, xName, Holdir, X, chk, returnValue, BookUrl2, n2 As String
Dim Rng, sel As Range
Dim kk(1 To 8) As String
Dim H As Hyperlink
Dim v, myR2, myR3, SAN, Result, nn, SAN2 As Variant
~省略~
'とりあえずAutoFilter.RangeのC:D列をセット
Set Rng = Intersect(.AutoFilter.Range.EntireRow, .Columns("C:D"))
BookUrl = .Range("D10").Value
n = "_" & .Range("C3").Value
~省略~
SAN = BookUrl & "総合管理" & n & ".xls "
If Dir(SAN) <> "" Then
MsgBox "既にご指定場所に,同名ファイルがあるようです。" & vbCrLf & "ご確認の上,フォルダ,ファイルを削除してから再操作をして下さい。" & vbCrLf & "動作を抜けます。"
Exit Sub
End If
~省略~’ここに7.資料\1.管理a ~8管理hを作成するコードを入れています
'rngの可視セル(抽出セル)をセット
Set Rng = Intersect(Rng, Rng.Offset(1), Rng.SpecialCells(xlCellTypeVisible))
'抽出なければ抜ける
If Rng Is Nothing Then Exit Sub
UserForm1.Show vbModeless
UserForm1.Repaint
'■※1)画面更新停止
Application.ScreenUpdating = False
kk(1) = "1.管理a"
kk(2) = "2.管理b"
kk(3) = "3.管理c"
kk(4) = "4.管理d"
kk(5) = "5.管理e"
kk(6) = "6.管理f"
kk(7) = "7.管理g"
kk(8) = "8.管理h"
With ThisWorkbook.Sheets("TEST")
Set Rng = .Columns("C:D")
Set Rng = Rng.SpecialCells(xlCellTypeVisible)
'rng.HyperlinksをLoop
For Each H In Rng.Hyperlinks
hLink = H.Address
chk = LCase(Mid$(hLink, InStrRev(hLink, ".")))
Select Case chk
Case ".xls", ".xlsx", ".doc", ".docx"
xName = Mid$(hLink, InStrRev(hLink, "/") + 1)
X = .Range("F" & H.Range.Row).Value ※ H.Range.Row=192 関係ありますか?
Holdir = "7.資料\" & kk(X) & "\" ← エラー9_インデックスが有効範囲にありません。
BookName = BookUrl & Holdir & Replace$( _
xName, chk, n & chk, , , vbTextCompare)
'URLDownloadToFile API をコールする
returnValue = URLDownloadToFile(0, hLink, BookName, 0, 0)
H.Address = BookName
End Select
Next
End With
Unload UserForm1
'■※1)画面更新再開
~省略~
お礼
こんにちは。 ご回答ありがとうございました。 こちらの方法,行挿入しても,行削除しても,自動的に範囲が変動するんですね。 もう少し,試行錯誤してみたいと思います。 ありがとうございました。