これが私がやろうとしていることです:
- データを含む最後のセルが列「A」のどこにあるかを確認します(動作します)
- データを列「A」に貼り付けてwbkVer.Worksheets( "Cutsheets")(動作)
- fsoFol.Name(動作)であるフォルダの名前を見つけます
- 「A」に貼り付けたセルごとに、値を確認します。
- 値がある場合は、fsoFol.Nameをoffset(0,5)に配置する必要があります。これはfirstRange変数から参照できるはずですが、セルごとであり、その方法がわかりません。 -またはそれを行うための最良の方法。(動作しません)
- 値がない場合はスキップしてください。
提案?前もって感謝します。
Dim FSO As Object, fld As Object, Fil As Object
Dim fsoFile As Object
Dim fsoFol As Object
Set FSO = CreateObject("Scripting.FileSystemObject")
Set fld = FSO.getfolder(folderPath)
If FSO.folderExists(fld) Then
For Each fsoFol In FSO.getfolder(folderPath).subfolders
For Each fsoFile In fsoFol.Files
If Mid(fsoFile.Name, InStrRev(fsoFile.Name, ".") + 1) = "xls" Then
fileName = fsoFile.Name
Application.ScreenUpdating = False
Set wbkCS = Workbooks.Open(fsoFile.Path)
If fileName Like "V*.xls" Then
wbkCS.Worksheets("Cut Sheet").Range("S4:S2000").Copy
With wbkVer.Worksheets("Cutsheets")
Set firstRange = .Range("A" & .Rows.Count).End(xlUp).Offset(1, 0)
firstRange.PasteSpecial xlPasteValues
For Each firstRange.Value in wbkVer.Worksheets("Cutsheets")
If firstRange.Value <> "" Then
firstRange.Offset(0, 5).Value = fsoFol.Name
End If
Next