回答編集履歴

2 追記

退会済みユーザー

退会済みユーザー

2018/09/17 02:01  投稿

コードをしっかりと読んでいませんでした。
consSOURの方はワイルカード指定で、consDESTはフォルダ指定だったのですね。
無駄な追記をさせて申し訳ございませんでした。
FileSystemObjectのMoveFileメソッドの第二引数「destination」ですが、ここにフォルダを指定する場合は、最後に\記号が必要となります。
(そうしないと拡張子の存在しないファイル名と判別できないですからね)
従って次のように修正してみてください。
```ここに言語を入力
consDEST = dest & "\" & FolderName & "\"
```
```
【2018/9/17 2:00:00追記】
実際にネットワーク上においてデバッグしてみました。
> Dim sour, dest, consSOUR, consDEST As Long
この構文ですが本当にこう書いてます?
VBAのDimは一度に型指定することは出来ないので、
・sour,dest,consSOURは省略とみなされVariant型
・consDESTだけがLong型
で定義されています。
ファイルパスであるconsDESTがLong型では動かないはずですが、本当はこうではないですか?
```VBA
Dim sour As String, dest As String, consSOUR As String, consDEST As String
Dim FolderName As String, Path As String, TargetPath As String
```
> 'FSOによるファイルコピー
MoveFile使ってますが、移動じゃないんですか?
consSOUR の該当ファイルが0件の場合に「ファイルが見つかりません」が出るようです。
ワイルドカードでファイルが1件以上存在するか確認する方法がfsoには無かったと思うので、下記通りDirを使ってチェックするように直したほうが良いと思います。
```VBA
   For j = 7 To Cells(Rows.Count, "B").End(xlUp).Row
       sour = Cells(j, 2).Value
       dest = Cells(j, 3).Value
       consSOUR = sour & "\" & "*.txt"
       consDEST = dest & "\" & FolderName & "\"
       
       'FSOによるファイル移動
       If Dir(consSOUR) <> "" Then
           FSO.MOVEFILE consSOUR, consDEST
       Else
           Debug.Print consSOUR & "に該当ファイル無し"
       End If
   Next j
```
この修正で私の環境では問題なく動きました。一度ご確認ください。
1 追記

退会済みユーザー

退会済みユーザー

2018/09/16 09:32  投稿

コードをしっかりと読んでいませんでした。
consSOURの方はワイルカード指定で、consDESTはフォルダ指定だったのですね。
無駄な追記をさせて申し訳ございませんでした。
FileSystemObjectのMoveFileメソッドの第二引数「destination」ですが、ここにフォルダを指定する場合は、最後に\記号が必要となります。
(そうしないと拡張子の存在しないファイル名と判別できないですからね)  
従って次のように修正してみてください。
```ここに言語を入力
consDEST = dest & "\" & FolderName & "\"
```

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る