advanced help
per page, with , order by , clip by
Results of 1 - 1 of about 1215 for (Mook) (0.001 sec.)
[[20150501111142]]
#score: 9211
@digest: 32832e261e1943418589c191ee85577f
@id: 67906
@mdate: 2015-05-01T03:11:40Z
@size: 3330
@type: text/plain
#keywords: scnt (18074), 几帳 (10682), 帳面 (10055), ク修 (8155), fcnt (8062), 見良 (7005), 修飾 (6801), activeseet (6721), ト修 (5780), 底的 (4077), 在。 (3848), fname (3171), lngrow (2270), fpath (2102), 徹底 (2075), 効範 (1548), タコ (1454), activeworkbook (1428), とac (1419), 数ブ (1349), workbooks (1291), デバ (1287), 一見 (1257), ー() (1208), ンデ (1177), 混在 (1160), デッ (1057), 「イ (878), 2015 (875), バッ (809), エラ (736), 金) (723)
『「インデックスが有効範囲にありません」のエラーの原因』(あき)
下記のVBAを作成したのですが、「インデックスが有効範囲にありません」とエラーが出ます。 ワークシートの数だけ繰り返すの部分を付け加えたのですが、その部分でエラーとなります。 原因を教えてください。 Sub データコピー() Dim fPath As String Dim fname As String Dim lngRow As Long Dim fcnt, scnt As Long Dim i, j As Long With ActiveSheet fPath = .Range("A1").Value & "¥" fcnt = Application.WorksheetFunction.CountA(.Range("A:A")) End With Application.EnableEvents = False Application.ScreenUpdating = False For f = 5 To 3 + fcnt fname = ThisWorkbook.Sheets("BOM読み込み").Range("A" & f).Value Workbooks.Open (fPath & fname) scnt = Workbooks(fname).Worksheets.Count For j = 1 To scnt With Workbooks(fname).Sheets(j) 'デバックするとこの部分がエラーとなる .Range("F4", .Cells(.Rows.Count, "B").End(xlUp)).Copy End With With ThisWorkbook.Sheets("BOM読み込み") lngRow = .Range("F" & .Rows.Count).End(xlUp).Row + 1 .Range("F" & lngRow).PasteSpecial Paste:=xlPasteValues End With ActiveWorkbook.Application.CutCopyMode = False ActiveWorkbook.Close False Next j Next f For i = Cells(Rows.Count, "F").End(xlUp).Row To 2 Step -1 If Cells(i, "I") = "DWG NAME" Then Cells(i, "F").Value = Cells(i, "J").Value End If Next i Application.EnableEvents = True Application.ScreenUpdating = True End Sub < 使用 Excel:Excel2010、使用 OS:Windows7 > ---- 一見良さそうですけれど、エラーが出たときの fname と j は何が入っているでしょうか。 その時開いているファイルのシート数と、scnt は一致しているでしょうか。 関係ありませんが、 Dim fcnt, scnt As Long は Dim fcnt As Long, scnt As Long のつもりで書かれたと思いますので、蛇足ながらのコメントです。 (Mook) 2015/05/01(金) 11:43 ---- どのようなブックがあるのかが分からないので解決するかは不明。 (たぶんこれでは解決しそうにはないが、念のため) >With Workbooks(fname).Sheets(j) 'デバックするとこの部分がエラーとなる を >With Workbooks(fname).Worksheets(j) 'デバックするとこの部分がエラーとなる ではどうだろうか? (ねむねむ) 2015/05/01(金) 11:49 ---- あっ、わかりました。 ActiveWorkbook.Close False が Next j の前にある! (Mook) 2015/05/01(金) 11:52 ---- おお、それだ。 (ねむねむ) 2015/05/01(金) 11:54 ---- エラーはMookさん指摘の部分でしょうけど、コードにしっかりと(正しく)インデントをつけておけば この間違いは、視覚的に、もっと早く(自分自身で)わかったと思います。 また、コードそのものでいえば Mookさん指摘の変数宣言の他に、几帳面にシート修飾しているところと ActiveSeet.なんとか や シート修飾なしの Cells(なんとか) が混在。 また、ブックについても几帳面に、ブック修飾しているところと ActiveWorkbookが混在。 徹底的にブック修飾、シート修飾をしておかれるべきだと思いますね。複数ブックを対象にする処理なんですから。 (β) 2015/05/01(金) 11:56 ---- みなさんありがとうございました。 指摘通りにNext jを移動したら正常に動作しました。 (あき) 2015/05/01(金) 12:11 ...
http://www.excel.studio-kazu.jp/wiki/kazuwiki/201505/20150501111142.txt - [detail] - similar
PREV NEXT
Powered by Hyper Estraier 1.4.13, with 97017 documents and 608145 words.

訪問者:カウンタValid HTML 4.01 Transitional