Jeg har behov for at loope igennem 2 mapper med Excel workbooks. Jeg vil så sammenligne filnavnene og, hvis de fire sidste karaktere i filnavnet er ens, udføre nogen handlinger.
Jeg tænker lidt som følgende pseodu kode. Så håber der er en, som kan hjælpe mig lidt til at få den skridtet videre for aner ikke, hvordan jeg får det gjort.
år_check = false
loop igennem salg_mappen år_salg = right(filnavn, 4)
loop igennem kundemappen år_kunde = right(filnavn, 4)
Jeg har kigget på dir() og kan også se den burde være "løsningen".
Men jeg kan ikke rigtig få den til at udføre netop det jeg vil.
Jeg kan sagtens få den til simple ting, som åbne alle workbooks i en mappe. Det kunne jeg muligvis godt opbygge min kode omkring, men kan jeg
sammenligne åbne workbooks navne? fx hvis jeg har 10 åbne workbooks.. og de hedder fx. år2007, salg2007 også sige if right(xx, 4) = right(yy, 4) then bla bla. ?
Synes godt om
Slettet bruger
12. december 2009 - 20:27#3
Forstår ikke hvad du mener med 'åbne' - dir(...) åbner intet men retunerer filnavn. søgetip: vba loop dir Hvis man vil 'noget' med indholdet af filen der har et givet navn, skal den åbnes (i excel) - koden dertil er jeg desværre ikke den rette til at vejlede om.
Dim objFSO As Scripting.FileSystemObject Dim objKundemappe As Folder Dim objSalgmappe As Folder Dim objKundefil As File Dim objSalgfil As File
Set objFSO = New Scripting.FileSystemObject Set objKundemappe = objFSO.GetFolder("C:\Kundemappe") Set objSalgmappe = objFSO.GetFolder("C:\Salgmappe")
'-- Hver her fil i kundemappen For Each objKundefil In objKundemappe.Files '-- Hver her fil i salgsmappen For Each objSalgfil In objSalgmappe.Files If Right(replace(objKundefil.Name,".xls",""), 4) = Right(replace(objSalgfil.Name,".xls",""), 4) Then '-- Hvis sidste 4 karakter er lig med hinanden, så gø noget End If Next Next
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.