• 締切済み

インデックスが有効範囲にありません。(Error9)

tamagawa49の回答

回答No.1

Workbooks.Open "A01.xls" Worksheets("s.セクター").[B1:Q52].Copy Workbooks("分析.xls").Activate Sheets("A01").[A1].PasteSpecial Paste:=xlValues Application.CutCopyMode = False Workbooks("A01.xls").Close False 3行目を上のように2行に分ければ上手くいくと思います。 ちなみにWorkbooks("分析")の書き方だと誰かがフォルダの表示を拡張子を表示する設定にしてしまうとエラーが起こります。 Workbooks("分析.xls")にしておくと拡張子が表示・非表示どちらの場合もちゃんと動くはずです。

関連するQ&A

  • WorkbookのCopyについて

    Workbookのコピーについて教えてください。 下記のマクロにセル内の数式もコピーしたいのですが、出来ないで困ってます。 値と数式をコピーする、マクロを入れると指定した範囲にコピーされません。 Sub CopyWorkbookToWorkbook() Windows("sheet2.xls").Activate Workbooks.Open Filename:="D:\book1.xls" Workbooks("book1.xls").Worksheets("sheet1").Range("A6:k1000").Copy Workbooks("book2.xls").Worksheets("sheet1").Range("A6").PasteSpecial    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks :=False,Transpose:=False          Workbooks("book1.xls").Close End Sub よろしくお願いします。

  • 繰り返しの処理でエラーが出てしまいます。

    以下のマクロを組んでいるのですが、実行するとある部分でエラー表示がされてしまいます 行おうと思っていることは、 (1)修理データブック内のセルをコピーして (2)修理報告書form内のセルにコピーすることを 繰り返そうとしています。 繰り返しをbだけで行うとエラーが表示されないのですがc=0のときは正常に動くのですが、c=1のとき(繰り返したとき)にエラーが表示されてしまいます。どうしたら解決するでしょうか? Private Sub 検索ボタン_Click() Workbooks.Open ("C:\Documents and Settings\デスクトップ\修理データブック.xls") Worksheets("修理データ").Range("A1").Activate Dim 検索セル As Range ''検索セルを探す処理 Set 検索セル = Columns(1).Find(what:=入力テキスト.Value, LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlColumns, MatchByte:=False) If Not 検索セル Is Nothing Then 検索セル.Select For a = 1 To 15 ''繰り返し処理1 修理報告書のB4セルからB18セルまでを埋める処理 Selection.Copy Windows("修理報告書form.xls").Activate ''修理報告書formに貼りつけする処理 Worksheets("入力フォーム").Range("B3").Select Selection.Offset(a, 0).Select Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _ False, Transpose:=False Application.CutCopyMode = False Windows("修理データブック.xls").Activate 検索セル.Select Selection.Offset(0, a).Select Next a For b = 15 To 19 Step 2 Range(ActiveCell, ActiveCell.Offset(0, 1)).Select Selection.Copy For c = 17 To 20 Windows("修理報告書form.xls").Activate Worksheets("入力フォーム").Range("B3").Select Selection.Offset(c, 0).Select Selection.PasteSpecial Paste:=xlValues ←この部分でエラーが表示されます Application.CutCopyMode = False Windows("修理データブック.xls").Activate 検索セル.Select Selection.Offset(0, b + 2).Select Next c, b どの様に回避したらよいのかを半日かけて考えたのですがどうにも分かりません。 どなたかご教授いただけますようお願いいたします

  • EXCEL VBAで、PasteSpecialと Destinationの組み合わせ方法?

    ここで教えていただいたマクロで ActiveSheet.Paste Destination:=Workbooks(\"book1.xls\").Worksheets(\"Sheet1\").Range(\"A1\") のペースト部分を書式を除きたいので PasteSpecial Paste:=xlFormulas でやりたいのですが、どう組み合わせたらいいのかわかりませんでした。 おしえていただけませんでしょうか?

  • マクロでブック間の移動に関して

    以下のようなマクロを組んだのですが、動かすパソコンによってブック○○○に移動できないでエラーになってしまうことがあります。 原因がわからなくて困っています。 詳しい方、対処法教えてください。よろしくお願いします。 Columns("A:AM").Select Application.CutCopyMode = False Selection.Copy Workbooks("○○○").Worksheets("×××").Activate Columns("B:B").Select ActiveSheet.Paste

  • 値のコピー

    Book1.csvの(A1:M17)と(A27:Q43)の値だけをBook2.xlsのsheet1とsheet2にコピーさせたいのですが Book2.xlsに(A27:Q43)の値だけしかコピー出来ないのですがどこが間違っているのでしょうか? CSVの場合、形式が異なる為出来ないのでしょうか? ご教授よろしくお願いいたします。 Sub test() Sheets("sheet1").Select Range("A1:M17").Copy Sheets("sheet1").Select Range("A27:Q43").Copy Workbooks.Open(Filename:="C:\sample\Book2.xls").RunAutoMacros Which:=xlAutoOpen Sheets("sheet1").Range("A1:M17").PasteSpecial Paste:=xlValues Sheets("sheet2").Range("A1:Q19").PasteSpecial Paste:=xlValues Application.CutCopyMode = False Application.DisplayAlerts = False ActiveWorkbook.Save ActiveWorkbook.Close End Sub

  • .copy で値だけの貼付け方法を教えてください

    セル結合してある備考欄の値を、別のブックのセルに貼り付けます。 貼り付けるブックのセルには罫線があるので、これを消さずに、値だけ貼り付けたいです。 Workbooks(MyFName).Worksheets("部品表").Range("P" & j + 5).Copy Workbooks(MyFName2).Worksheets("PartsList").Range("M" & k + 1) とすると、罫線が消えてしまうので おしりに .PasteSpecial Paste:=xlValues を付けてみましたら、赤く反転しエラーになってしまいました。 どうしたら、.copyで値のコピー貼付けができますか どうかご指導ください

  • 実行時エラーについて

    Konkon_mと申します よろしくお願いします エクセルの質問なんですが、今回ワークシートから別のワークシートに表と数値を貼り付けるマクロを作成したのですが終了時に、『実行時エラー'1004' WorksheetクラスのPasteメソッドが失敗しました』のエラーがでるのです 一応、コピー&貼り付けはきちんと終了しているようなのですがすごく気になります 作成したマクロを載せますので、わかる方がいらっしゃいましたら教えていただけないでしょうか? 宜しくお願いします ChDir "H:\A\B" Workbooks.Open FileName:="\\PRO800\Home Directory\B\B\コピー.xls" ActiveWindow.WindowState = xlMinimized Range("B3:D10").Select Selection.Copy ActiveWindow.WindowState = xlMinimized ActiveWindow.WindowState = xlNormal ActiveWindow.WindowState = xlMinimized Windows("コピー.xls").Activate ActiveWindow.WindowState = xlNormal Range("B3").Select Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _ False, Transpose:=False Range("B3:D10").Select Selection.PasteSpecial Paste:=xlFormats, Operation:=xlNone, SkipBlanks:= _ False, Transpose:=False Range("A1").Select ActiveWorkbook.Save ActiveWindow.Close ActiveWindow.WindowState = xlNormal Range("B3").Select ActiveSheet.Paste Application.CutCopyMode = False Range("A3").Select ActiveWindow.WindowState = xlMaximized End Sub

  • シートを別のブックに複数自動コピー

    初質問です。よろしくお願いします。 マクロを使って、あるブックのシート(20から50枚程度)を、別の貼り付け先のブックに自動的にコピーしようとすると、10回をすぎたあたり(必ずしも一定せず)で 「実行時エラー'1004': WorksheetクラスのCopyメソッドが失敗しました。」 というエラーと共にマクロが止まり、デバッグしようとすると 「ActiveSheet.Copy After:=Workbooks("貼り付け先ブック.xls").Sheets("○○シート")」 のところで止まっています。 マクロの記述内容は以下の通りです。 Sheets("貼り付け元シート").Activate ActiveSheet.Copy After:=Workbooks("貼り付け先ブック.xls").Sheets("○○シート") Cells.Select Selection.Copy Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _ False, Transpose:=False Application.CutCopyMode = False Range("A1").Select Windows("貼り付け元ブック.xls").Activate ・・・以下貼り付け元シートを変えつつ複数回繰り返し これができる様になれば非常にラクになるので、ぜひご教授願います。

  • インデックスが有効範囲にありませんと出てしまう

    VBAで"実行時エラー9 インデックスが有効範囲にありません"と出てしまいます、解決方法を教えていただけないでしょうか? 以下のVBAで上記のエラーが出てしまいます。ちなみに私はVBA初心者です。 VBAの内容としてはとあるブックのシートを丸ごと、そのシートを必要とするブックのシートに貼り付けるというものです。 Sub コピー() Dim ファイル名, 基本ファイル名 Dim i, j As String i = ActiveWorkbook.Name j = ActiveSheet.Name Application.DisplayAlerts = False 基本ファイル名 = Sheets("データリスト").Range("B14").Value →ここでエラー発生 Workbooks.Open 基本ファイル名 If Err.Number > 0 Then MsgBox "『○○』を開けませんでした" & vbCrLf & _ "ファイル名が間違っているか、存在しないか、拡張子が違います" & vbCrLf & vbCrLf & _フォルダ & " に " & vbCrLf & _ 基本ファイル名 & "ファイルがありません" Exit Sub End If Worksheets("リスト").Range("A1:N400").Copy Workbooks(i).Worksheets("リスト").Range("A1:N400").PasteSpecial Workbooks(基本ファイル名).Close SaveChanges:=False →ここでもエラーが出てしまうことがある Sheets(j).Select Application.DisplayAlerts = True MsgBox ("リストを取り込みました") End Sub

  • VBA マクロ実行時エラー’1004RangeクラスのPasteSpecialメソッドが失敗

    マクロ実行時に、エラー’1004RangeクラスのPasteSpecialメソッドが失敗と表記され、マクロが実行されません。 マクロの内容は、任意の範囲をコピー、新規book追加し、 新規bookに(1)Paste:=xlPasteValues (2)Paste:=xlPasteColumnWidths (3)Paste:=xlPasteFormats の順に貼り付けし保存するものです。 いろいろ調べては見たのですが、当方初心者の為、わからずじまいです。お手数ではございますが、どなたかご教授願います。 下記にマクロ内容全部記載します。 よろしくお願いします。 ********************************************************* ********************************************************* Sub 日報別ファイルに保存したい1() Worksheets("日報").Range("A3:AF36").Copy With Workbooks.Add Cells.Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Cells.Select Selection.PasteSpecial Paste:=xlPasteColumnWidths, Operation:=xlNone, _ SkipBlanks:=False, Transpose:=False Range("A1").Select Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _ SkipBlanks:=False, Transpose:=False ApplicationDisplayAlerts = True '同名FILEが存在する場合' ActiveWorkbook.SaveAs Filename:= _ "c:\日報\" & ActiveSheet.Range("J2") & "年" & ActiveSheet.Range("l2") & "月" & ActiveSheet.Range("n2") & "日_日報.xls" _ , FileFormat:=xlNormal .Close file End With End Sub