[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『VBAパスが見つかりませんエラー』(ピノ)
お世話になっております。
VBA初歩的な質問ですみません。
以下の構文にて、指定フォルダの中に、
年月フォルダを作成する工程を行っているのですが、
「パスが見つかりません」というエラーが発生してしまいます。
原因がわかりましたら、教えていただけないでしょうか。
【指定フォルダ】
\\n.net\fs01\fs01_045\ライブラリー\A023生データ抽出
Sub 年月フォルダ内にユニット別フォルダ作成担当者別ファイルに分ける()
Dim myDic As Object, d As Variant, v() As String Dim myPath As String, my担当者名 As String, file担当者名 As String Dim LastRow As Long, i As Long, c As Range Dim objWb As Workbook
Application.ScreenUpdating = False
Set myDic = CreateObject("Scripting.Dictionary")
myPath = "\\n.net\fs01\fs01_045\ライブラリー\A023生データ抽出" & " \ " 'VBAのあるフォルダ(元フォルダ)+" \ " 'myPath = myPath & Format(DateAdd("m", -1, Date), "yymm") '前月のフォルダ
MkDir myPath '前月のフォルダ作成 With ActiveSheet
'★条件可変'E列の最終行を取得 LastRow = .Cells(Rows.Count, "E").End(xlUp).Row
'重複のないユニット名をmyDicに格納 For Each c In .Range("E2:E" & LastRow)
'担当者名 my担当者名 = c.Offset(, 2).Value
'myDicにユニット名の登録が有れば If myDic.Exists(c.Value) Then v = myDic(c.Value)
'vに担当者名の登録が無ければ登録 If IsError(Application.Match(my担当者名, v, 0)) Then ReDim Preserve v(UBound(v) + 1) v(UBound(v)) = my担当者名 myDic(c.Value) = v End If
Else ReDim v(0) As String v(0) = my担当者名 myDic(c.Value) = v End If Next For Each d In myDic.keys
'ユニットフォルダーの有無確認 If Dir(myPath & "\" & d, vbDirectory) = "" Then '無ければ作成 MkDir myPath & "\" & d End If
'myDicから担当者名を取出し v = myDic(d)
For i = 0 To UBound(v)
file担当者名 = myPath & "\" & d & "\" & v(i) & ".xlsx"
'担当者名ファイル有無確認 If Dir(file担当者名) = "" Then
'無ければ作成 With Workbooks.Add .Worksheets(1).Name = d & "_" & v(i) .Worksheets(1).Range("A1:C1").Value = Array("計上年月", "グループコード", "グループ名") .SaveAs file担当者名 .Close End With End If
Set objWb = Workbooks.Open(file担当者名)
'★条件可変(オートフィルター) .Range("A1").AutoFilter Field:=5, Criteria1:=d 'ユニット名で抽出 .Range("A1").AutoFilter Field:=7, Criteria1:=v(i) '担当者名で抽出 .Range("A2:BE" & LastRow).Copy objWb.Worksheets(1).Cells(Rows.Count, "A").End(xlUp).Offset(1) objWb.Close True '上書き保存して閉じる
Next i Next d
.AutoFilterMode = False .Activate End With
'作成完了後メッセージボックス表示 Set myDic = Nothing Application.ScreenUpdating = True MsgBox "Done!"
End Sub
< 使用 Excel:Excel2016、使用 OS:Windows10 >
横入りでしかも当てずっぽうですが。
セルに、ファイルやフォルダのパスとしては使えない 文字列が入っていませんか? (OK) 2020/03/27(金) 17:57
>"\\n.net\fs01\fs01_045\ライブラリー\A023生データ抽出" & " \ " 'VBAのあるフォルダ(元フォルダ)+" \ "
これ、なんで所々 "" で囲まれているの? 変数使ってないのに分ける必要あるの? ひょっとして、ほとんど意味が解ってないのでは・・・。 (BJ) 2020/03/27(金) 18:28
パスの文字数が多すぎる(具体的な文字数は調べてません) 時もそのエラーメッセージが出るようです。 (OK) 2020/03/27(金) 18:44
>myPath = "\\n.net\fs01\fs01_045\ライブラリー\A023生データ抽出" & " \ " 関係ないかもしれませんが、" \ " これ気になるんですけどね パス区切りになぜ空白挟むのか? (´・ω・`) 2020/03/28(土) 10:11
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.