2017-10-02 16 views
0

ソースから宛先フォルダにファイル(セルリスト)をコピーしています。 Excelの列からすべての値を($ A1)の形式で選択する必要があります。Excel - RangeプロパティでExcelの絶対範囲を選択してください

マイコード:

Sub SourcetoDestination() 

    Dim rngFile As Range, cel As Range   
    Dim desPath As String, filename As String 

    Set rngFile = ThisWorkbook.Sheets("Sheet1").**Range("$A1")** 'assuming file list in ColA 

    desPath = "C:Destination\" 

    For Each cel In rngFile 

     If Dir(cel) <> "" Then 
      filename = Dir(cel) 

      FileCopy cel, desPath & filename 'copy to folder 

     End If 

    Next 

End Sub 

問題:

私のコードは、リストから最初の値をコピーします。 私はこのような範囲指定した場合:

ThisWorkbook.Sheets("Sheet1").Range("A1","A3") 

をそれは動作しますが、私はExcelの絶対範囲を保存したいです。

誰かが私を案内してくれますか。事前に感謝します。

答えて

1

は??何が必要このです:これはまさに私が必要です

Sub SourcetoDestination() 
    Dim rngFile As Range, cel As Range 
    Dim desPath As String, filename As String 
    Dim N As Long 

    N = Cells(Rows.Count, "A").End(xlUp).Row 
    Set rngFile = ThisWorkbook.Sheets("Sheet1").Range("$A1:$A" & N) 'assuming file list in ColA 
    desPath = "C:Destination\" 
    For Each cel In rngFile 
     If Dir(cel) <> "" Then filename = Dir(cel) 
      FileCopy cel, desPath & filename 'copy to folder 
     End If 
    Next 
End Sub 

テストされていない

+0

感謝。 – shaadi

関連する問題