• ベストアンサー

マクロを実行すると、エラーにならずに、じりじり音がしてしまう

imogasiの回答

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.1

Sub test01() With Application.FileSearch .LookIn = "C:\Documents and Settings\XXXX\My Documents" ' .FileType = msoFileTypeExcelWorkbooks .FileType = msoFileTypeAllFiles .Filename = "*.csv" .Execute End With Dim i As Integer With Application.FileSearch For i = 1 To .FoundFiles.Count MsgBox .FoundFiles(i) Workbooks.OpenText Filename:=.FoundFiles(i), _ StartRow:=1, _ DataType:=xlDelimited, _ TextQualifier:=xlDoubleQuote, _ ConsecutiveDelimiter:=False, _ Comma:=True '---- n = Workbooks("CSV集約.xls").Sheets.Count MsgBox n ActiveWorkbook.Sheets(1).Move after:=Workbooks("CSV集約.xls").Worksheets(n) Next i End With End Sub を標準モジュールに貼り付ける。 フォルダーの部分を自分のケースに合わせる。 CSV集約.xlsで保存。 再度CSV集約.xlsを読み込んで、実行。 私の場合はうまく行ったようですが、うまくいくでしょうか。 うまくいった場合は、質問のコードと比べて検討してみてください。 ーー うまくいかない場合は、回答が不適切だと思うので、本件は無視してください。

oshietecho-dai
質問者

お礼

ご回答誠に有難うございました。

関連するQ&A

  • ワイルドカードの記述が、原因でしょうか?

    下記コードが、ついこの前までは、きちんと "A?07??????.CSV" を読み込んでたんですが、 今は、 "検索条件を満たすファイルはありません。"  となってしまいます。 1、ワイルドカードの記述が、おかしいでしょうか? 2、フォルダ名は、漢字等はやめて、半角英数字にしたほうがよいのでしょうか? 3、このような、現象は、よくあることでしょうか? 以上 原因がわかりませんので、何卒ご教示くださいませ。 ----------------- Private Sub TEST() Dim myFS As FileSearch Dim i As Long ChDir "C:\Documents and Settings\Owner\デスクトップ\ああ" Set myFS = Application.FileSearch With myFS .LookIn = "C:\Documents and Settings\Owner\デスクトップ\ああ" .Filename = "A?07??????.CSV" If .Execute > 0 Then For i = 1 To .FoundFiles.Count '見つかったファイルを一つずつ開く Workbooks.OpenText Filename:=.FoundFiles(i), _ StartRow:=1, _ DataType:=xlDelimited, _ TextQualifier:=xlDoubleQuote, _ ConsecutiveDelimiter:=False, _ Comma:=True 'ああ.xlsブックに移動 Sheets(1).Move after:=Workbooks("ああ.xls").Worksheets(Workbooks("ああ.xls").Sheets.Count) Next i Else MsgBox "検索条件を満たすファイルはありません。" End If End With End Sub

  • オブジェクト変数の取得について

    以下のようにOpenTextでファイルを開いてそれをオブジェクト変数に取得したいのですが 「Functionまたは変数が必要です」というエラーになります。 どなたかご教示ねがえませんでしょうか? よろしくお願いいたします。 Set WorkBookObject =Workbooks.OpenText FileName:=strPath & strTxt, _ StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _ ConsecutiveDelimiter:=False, Tab:=False, Semicolon:=False, _ Comma:=True, Space:=False, Other:=False, FieldInfo:=aryCell

  • エクセル VBA

    エクセルで指定したフォルダから シート1のA1セルに記入された名前のテキストファイルを 開くマクロを作りました 変数filepassがセルA1に記入されたファイルのパスのとして Workbooks.OpenText filename:=filepass, StartRow:=1 _ , DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _ ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=False, Comma:=False _ , Space:=False, Other:=False, FieldInfo:=Array(1, 1) しかし このままだと指定したフォルダ(filepass)にファイルがなかったとき エラーになります もしファイルがなかったときに 何かメッセージを表示させたいのですが どのようにすればよいのでしょうか どなたか 教えてください VBAは素人です よろしくお願いします

  • エクセル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

  • コンボボックスからファイルを指定して、マクロを実行するには?

    EXEL VBAで、コンボボックスから2週分のファイルを選び、そのファイルの差を算出するマクロを組みたいのですが、どうしてもコンボボックスで選んだファイルを変数に変えてマクロを実行することが出来ません。どうしたらよいのでしょうか? (現在作成中のマクロを下記に貼り付けました) Private Sub UserForm_Initialize() With Application.FileSearch '検索先フォルダを指定する .LookIn = "F:\Sample2008\数字ファイル(test)" '検索するファイル名を指定する .Filename = "*.xls" '検索を実行する If .Execute() > 0 Then For i = 1 To .FoundFiles.Count Workbooks("変更分.xls").Worksheets("変更数字確認シート").Cells(i, 151).Value = .FoundFiles(i) Next i Else MsgBox "ファイルが見つかりません" End If End With With UserForm1 'リストの項目にセルを指定する .ListBox5.RowSource = Workbooks("変更分.xls").Worksheets("変更数字確認シート").Range("EU1:EU30").Address 'リストの項目にセルを指定する .ListBox6.RowSource = Workbooks("変更分.xls").Worksheets("変更数字確認シート").Range("EU1:EU30").Address End With End Sub Sub ListBox5_Click() ListBox5.ListIndex = 先週分 End Sub Sub ListBox6_Click() ListBox6.ListIndex = 今週分 End Sub '別マクロにて「先週分」と「今週分」の変数を使って引き算を実行

  • エクセル2000マクロインデックスエラー

    下記のマクロでインデックスが有効範囲にありません。 Windows(F_NAME).Activate→エラー個所 Sheets(M_KAKOBA(count)).Select→エラー個所 教えてください。 Dim work, hensu, i, j, h Windows("加工品.xls").Activate work = Sheets("masta").Cells(3, 6).Text 'シート名の変更 Windows(F_NAME).Activate Sheets(M_KAKOBA(count)).Select ActiveSheet.Name = work

  • VBマクロについて

    VBマクロについて 0864_001.xls 0864_002.xls … 0864_009.xls というxlsファイルがあります。 0864_001.xlsを開く→処理→閉じる→0864_002.xls→… のようなループを考え、matome.xls内で以下のようなマクロを作成したのですが実行されません。 Sub Test() Dim i As Integer For i = 1 To 9 Workbooks.Open ThisWorkbook.Path & "\0864_00" & CStr(i) & ".xls" Workbooks("\0864_00" & CStr(i) & ".xls").Activate Range("F1").Formula = "=max($B$11:$B$17)" Range("G1").Formula = "=max($B$391:$B$398)" Range("F1:G1").Copy Workbooks("matome.xls").Activate Sheet1.Activate Range("A" & CStr(i + 1)).PasteSpecial Paste:=xlPasteValues Workbooks("\0864_00" & CStr(i) & ".xls").Close SaveChanges:=False Next i End Sub 5行目でエラーが発生し、「インデックスが有効範囲にありません」とのメッセージが表示されます。 どのようにすれば実行されるのか教えていただきたいです。

  • エクセルマクロ ファイル名を変更したとき

    マクロ初心者です。 データファイルからシートを複写挿入するマクロです。 コピー先ファイル名を都度変更したいのですが、その場合マクロにコピー先ファイル名が入っているのでエラーになります。名前が変わっても実行できるようにするにはどうしたらよいのでしょう? なお、複写元のデータファイルは複写後に閉じます。 Workbooks.Open Filename:="データファイル.xls" Sheets("Sheet1").Copy Before:=Workbooks("コピー先ファイル名.xls").Sheets(1)

  • エクセル2000のマクロについて再び

    新しいブックを作りさらに他のブックで作成されているシートをコピーして移動するというマクロを作ります。この時、新しく作ったブックの名前がBook1にならないとその時点でマクロのエラーになりなってしまいますが、たまにBook2になってしまうときがあります。必ずBook1になると指定することはできないのでしょうか。 Sheets(Array("sheet1", "sheet2", "sheet3")).Select Sheets(Array("sheet1", "sheet2", "sheet3")).Copy →新しいシートを作成 Workbooks.Open Filename:="C:xxx\○○\△△.xls" Sheets.Copy after:=Workbooks("book1").Sheets(2) →ここで、Book1が存在しないとエラーになってしまう。 お願いします。

  • EXCELマクロ実行後、読み込み専用になってしまう

    EXCELマクロ実行後に読み取り専用になってしまう。 <内容>  1つのファイル(A)に他の複数のファイル(B,C・・・)内のシートを取り込んだ後、更新せずに終了させています。 <困ったこと>  そのマクロを実行したあと上記のファイルB,C・・・が読み取り専用になってしまいます。PCを再起動すると解除されます。  読み取り専用にならないようにする方法はありますでしょうか。  ご指導のほど、よろしくお願いいたします。 <参考> For Each fName In FSO.GetFolder(MyFolder).Files If FSO.GetExtensionName(fName) = "xls" And _  FSO.GetBaseName(fName) <> "ファイルA" Then  Set wBook = Workbooks.Open(fName)   For 番号 = 1 To Worksheets.Count  wBook.Worksheets(番号).Copy _  after:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)   Next 番号    wBook.Close True   End If Next