• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセル2000マクロデバッグエラー)

エクセル2000マクロデバッグエラー

nishi6の回答

  • ベストアンサー
  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.1

各行に意味を書いてみました。 L5の数値の下2桁の月の翌月をファイル名の一部としてBookを保存しようとしているみたいです。 >インデックスが有効範囲にありません のエラー Sheet("mmm")のmmmはシート名と一致していますか。全角と半角で違っている可能性があります。 Excel2000でこの辺りが厳格になったのかもしれません。(自信なし) シートでシートタブをクリックしてシート名を反転させてコピー。 それをこのコードのSheet("mmm")の『mmm』部分に貼り付ければうまくいくかもしれません。 後は、tukiの変数宣言が質問の中には見当たりません。 記述の意味    ↓   '*** 配列の定義。みんなバリアント型になっている。これでもいいが、ちゃんと宣言したほうがいい。   '*** tukiについては、Dimがない? 書くなら、Dim tuki。これはバリアント型の必要あり   Dim i, C_COUNT, folda, work, t   '*** フォルダを定義   folda = "C:\test\"   '*** tukiはシート名mmmのL5の文字 = 200201   tuki = Sheets("mmm").Cells(5, 12).Text   '*** tuki = 1 。200201の右2桁『01』にして、数値にしている   tuki = Val(Right(tuki, 2))   '*** 翌月を求めている   If tuki = 12 Then     '*** 12月なら翌月は1月     tuki = 1   Else     '*** 12月以外ならtukiに1加算した月が翌月     tuki = tuki + 1   End If   '*** tukiを数値から前ゼロの文字に変えている   tuki = Format(Str(tuki), "00")   '*** 新規Bookを追加   Workbooks.Add   '*** F_NAMEは Kei02tuki.XLS になる   F_NAME = "Kei" + tuki + "tuki.XLS"   '*** Bookをfoldaにファイル名F_NAMEで保存している   ActiveWorkbook.SaveAs FileName:=folda + F_NAME, _     FileFormat:=xlNormal, Password:="", WriteResPassword:="", _     ReadOnlyRecommended:=False, CreateBackup:=False

noname#72697
質問者

補足

早速の回答ありがとうございます。 もうひとつ教えてください。 下記のマクロで型が一致していませんがでます。 M_KAKOBA(count) = "Sheet" + i(3行目の5列には1が入っていま。) 何が原因でしょうか。 Dim i, C_COUNT, folda, work, tuki   For count = 1 To C_COUNT 'C_COUNT Windows("test.xls").Activate Sheets("aaa").Select Cells(3, 5) = count i = count M_KAKOBA(count) = "Sheet" + i

関連するQ&A

  • エクセル2000マクロエラーについて

    下記のマクロをエクセル95で動かすと正常に終わるのですが、エクセル2000で 動かすとデバッグエラーで止まります。 何処がおかしいのでしょうか教えてください。 出来れば言語の意味も教えてください。 Sub 送信メニュ() Dim i, C_COUNT, folda, work, tuki i = MsgBox("加工業者別の発注基礎資料を作成します。", 1, "着色加工計画作成システム") If i <> 1 Then Exit Sub Sheets("msg2").Select Call gafalse folda = "C:\aa着色加工計画\" tuki = Sheets("ACT").Cells(5, 12).Text→最初にここでデバッグエラーになります。 tuki = Val(Right(tuki, 2)) If tuki = 12 Then tuki = 1 Else tuki = tuki + 1 End If tuki = Format(Str(tuki), "00") Workbooks.Add F_NAME = "加計" + tuki + "月.XLS" ActiveWorkbook.SaveAs Filename:=folda + F_NAME, _ FileFormat:=xlNormal, Password:="", WriteResPassword:="", _ ReadOnlyRecommended:=False, CreateBackup:=False Windows("加工品.xls").Activate Sheets("masta").Select C_COUNT = Sheets("masta").Cells(2, 3).Text For count = 1 To C_COUNT 'C_COUNT Windows("加工品.xls").Activate Sheets("masta").Select Cells(3, 5) = count i = count M_KAKOBA(count) = "sheet" + i Call 送信 Next count Application.CutCopyMode = False ActiveWorkbook.SaveAs Filename:=folda + F_NAME, _ FileFormat:=xlNormal, Password:="", WriteResPassword:="", _ ReadOnlyRecommended:=False, CreateBackup:=False ActiveWindow.Close End Sub

  • マクロ シート別に名前をつけて保存したい

    1つのブックにシートが複数あり、それぞれシート毎に名前をつけて保存したいです。 質問を検索しましたら似たようなマクロを見つけたのですが、例えば1.2.3・・・というシートがあった場合、エクセル1、エクセル2、というような共通の言葉をつけて保存したい場合の方法を教えて下さい。 たぶんですが・・・下記のどこかにエクセルという言葉をいれるとできますでしょうか? Workbooks(2).SaveAs Filename:= _ SvPath & Workbooks(BookName).Sheets(SheetName).Name & ".xls", FileFormat:=xlNormal, _ Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _ CreateBackup:=False よろしくお願い致します。

  • マクロが思い通りに動きません

    エクセルでマクロを使いボタンを 作りました。ボタンを押すとHDDとDVDに保存される仕組みになっています Sub DVD() ChDir "E:\" ActiveWorkbook.SaveAs Filename:=Format(Now, "yyyy-mm-dd(hh時mm分ss秒)"), FileFormat:=xlNormal, _ Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _ CreateBackup:=False End Sub Sub HDD() ActiveWorkbook.SaveAs Filename:= _ "C:\Documents and Settings\***\デスクトップ\ファイル名.xls", FileFormat:=xlNormal, _ Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _ CreateBackup:=False End Sub これだとDVDへ保存が上手くいきません。DVDからエクセルを開いて使えば問題ないのですが、デスクトップから開くと日付入りのデータがデスクトップに保存されてしまいます。 どうやって書き換えたらいいでしょうか

  • エクセル2000 VBA

    ウィンドウズ2000 エクセル2000です。 ブックの中のシートを一枚だけコピーして別のブックに名前を付けて保存したいと思っています。 「'コピーするシートを選ぶ Sheets("概要表").Select '全部選んでコピー Cells.Select Selection.Copy '新しいブックを選ぶ Workbooks.Add Cells.Select '新しいブックにコピーを貼り付ける。 ActiveSheet.Paste Application.CutCopyMode = False」 ここまでは順当に動いています。 質問は アクティブになった新しいブックを保存したいです。 一行から二行目にかけて設定しているファイルネームを、 メッセージボックスを表示させてそこに入力した文字列 をファイルネームとして(現在****)保存したいのですが。 ActiveWorkbook.SaveAs Filename:= _ "**********.xls", FileFormat:= _ xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _ , CreateBackup:=False どなたかよろしくお願いします。

  • エクセルのコード修正について

    OSはWindowsNT、Excel97です。 コマンドボタンで、保存ボタンを作ったのですが、保存したデータを呼び出すと、 上書するにはパスワードを入力しないといけない画面が出てきてしまいます。 これをパスワードを入れなくても画面がすぐ開くようにしたいのですが、以下のコードをどう作りかえれば良いですか? 宜しくお願いします。 Private Sub CommandButton4_Click() Dim FName As String FName = Sheets("フッ素ガルタイト見出し").Cells(6, 3) Application.WindowState = xlMinimized Application.WindowState = xlNormal ActiveWorkbook.SaveAs Filename:="\\業務\見積\" & FName & ".xls", FileFormat:= _ xlNormal, Password:="", WriteResPassword:="gf3002", ReadOnlyRecommended:= _ False, CreateBackup:=False End Sub

  • Excelマクロで年度別にフォルダ作成したい。

     Excel2003です。  日々の売り上げ集計ファイルをボタン一つで保存していくマクロを作っています。 Application.DisplayAlerts = False If Dir(ThisWorkbook.Path & "\" & Format(Date, "yy") & "年集計", vbDirectory) = "" Then MkDir Path:=ThisWorkbook.Path & "\" & Format(Date, "yy") & "年集計" ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\" & Format(Date, "yy") & "年集計\" & Format(Date, "yymmdd") & ".xls", FileFormat:=xlNormal, _ Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _ CreateBackup:=False Else ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\" & Format(Date, "yy") & "年集計\" & Format(Date, "yymmdd") & ".xls", FileFormat:=xlNormal, _ Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _ CreateBackup:=False  とりあえず指定のフォルダに「yymmdd.xls」という名前をつけて保存、もしフォルダがなければ作るというところまで作れました。そこで、今度は「**年度」というフォルダに自動的に保存され、もし「**年度」というフォルダがなければ作るようにしたいのです。上に上げたマクロでは「**年」というフォルダを作ってその中に保存というところまでは出来ているのですが……。とにかく年度で分ける場合の処理がよくわかりません。  回答よろしくお願いします。

  • ファイルの保存先を任意にしたい(マクロ)

     エクセルのマクロです。  マクロを実行した時に、保存先とファイル名は任意に入力して(その部分だけは、マクロ実行者が入力して)、その後もマクロを実行させたいのですがどうすれば良いのでしょうか? たとえば、 ActiveCell.FormulaR1C1 = "1" Range("B1").Select ChDir "C:\Documents and Settings\a\デスクトップ" ActiveWorkbook.SaveAs Filename:= _ "C:\Documents and Settings\a\デスクトップ\ Book1.xls", FileFormat:=xlNormal, _ Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _ CreateBackup:=False Range("A2").Select ActiveCell.FormulaR1C1 = "2" Range("B2").Select ActiveWorkbook.SaveAs Filename:= _ "C:\Documents and Settings\a\デスクトップ\ Book2.xls", FileFormat:=xlNormal, _ Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _ CreateBackup:=False Range("A3").Select ActiveCell.FormulaR1C1 = "3" Range("B3").Select ActiveWorkbook.SaveAs Filename:= _ "C:\Documents and Settings\a\デスクトップ\ Book3.xls", FileFormat:=xlNormal, _ Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _ CreateBackup:=False Range("A4").Select ActiveCell.FormulaR1C1 = "4" Range("B4").Select  上記の場合は、保存先もファイル名もこちらが指定していますが、その部分だけは、マクロの実行者に任意指定及び入力させたいのです。  マクロ初心者なので、よろしくお願いします。

  • VBマクロで教えて下さい。

    下記VBマクロで上書きしない時はマクロを終了させたいのですがこ指導をお願いします。 Sub Macro2() ' Macro2 Macro ' マクロ記録日 : 2012/9/3  ユーザー名 : HA社    ChDir "C:\Documents and Settings\6464552\デスクトップ"    ActiveWorkbook.SaveAs Filename:= _        "C:\Documents and Settings\6464552\デスクトップ\直送先部品出庫伝票.xls", FileFormat:= _        xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _        , CreateBackup:=False  Range("D42:E49").Select    Selection.ClearContents    Range("I32:J32").Select    Selection.Copy    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _        :=False, Transpose:=False    Application.CutCopyMode = False    ActiveWorkbook.SaveAs Filename:= _        "C:\Documents and Settings\6464552\デスクトップ\PPSC部品出庫伝票.xls", FileFormat:= _        xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _        , CreateBackup:=False    Application.Quit End Sub

  • VBAでのシートコピーについて

    VBAでシートを新しいブックにコピーして、名前を付けて保存したいのですが、同じファイル名が存在すると、必ず「上書きしますか?」のダイアログが表示されてしまいます。無条件で上書きする方法ってありませんか? 今は↓のようなコードを書いてます。 Application.ScreenUpdating = False Sheets("sheet1").Copy ActiveWorkbook.SaveAs Filename:= _ "C:\Book1.xls", FileFormat:=xlNormal, _ Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _ CreateBackup:=False ActiveWindow.Close

  • ファイル保存のマクロについて

    ActiveWorkbook.SaveAs Filename:= _ "C:\Documents and Settings\Owner\aaa\bbb\ccc\" & Range("k2").Value & ".xls", FileFormat:= _ xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _ , CreateBackup:=False 上記のようにマクロを組みましたがうまく作動しません。 セル"k2"の値は日付が入力されています。 その値が原因で読み取れないみたなのですが。 (セルの書式設定の日付で●月●日で設定しています)