• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Mapnamen wijzigen via VBA Excel

Status
Niet open voor verdere reacties.

HWV

Terugkerende gebruiker
Lid geworden
19 feb 2009
Berichten
1.183
Beste,

Ik heb in een map allemaal mappen zitten waar de naam van moet wijzigen.
Rond gezocht om te kijken wat er mogelijk is maar helaas niet het juiste gevonden.

Kolom A Kolom B
Klantnaam - BAARN ( 3051 ) Klantnaam - BAARN ( 3051 )
Klantnaam - DOETINCHEM ( 3050 ) Klantnaam - DOETINCHEM ( 3050 )
Klantnaam - OOSTERBEEK ( 3054 ) Klantnaam - OOSTERBEEK ( 3054 )
Klantnaam - ROTTERDAM ( 3049 ) Klantnaam - ROTTERDAM ( 3049 )
Klantnaam - ROTTERDAM ( 3052 ) Klantnaam - ROTTERDAM ( 3052 )

De namen in kolom A moeten aangepast worden naar de namen in kolom B.

Onderstaande code zet er wat voor, maar wat ik wil is dus dat de naam op de locatie P:\automatisering\Test veranderd gaat worden naar de naam in kolom B
Dit dan voor 500 namen
Code:
Sub RenameFolder()
        
    Dim OldFolderName As String, NewFolderName As String
    Dim myValue As Variant
myValue = InputBox("Geef de naam op van de map, bvb P:\automatisering\Test")
For a = 1 To 9
    b = "000"
    OldFolderName = myValue & a
    NewFolderName = myValue & b & a
    Name OldFolderName As NewFolderName
Next

End Sub

Hopelijk kunnen jullie mij hiermee ondersteunen.

Bekijk bijlage Namen wijzigen in directory.xlsx

Henk
 
Als je de 4 spaties wilt verwijderen in de subfolders, heb je kolom A en B niet nodig.
Code:
Sub hsv()
Dim oSubfolder As Object
 For Each oSubfolder In CreateObject("Scripting.FileSystemObject").GetFolder("c:\Temp").subfolders

   If InStr(oSubfolder, String(5, " ")) > 0 Then oSubfolder.Name = Replace(oSubfolder.Name, String(5, " "), " ")
  Next oSubfolder
End Sub
 
En anders kan je zoiets gebruiken

Code:
Sub VenA()
  c00 = InputBox("Geef de naam op van de map, bvb P:\automatisering\Test\")
  If Right(c00, 1) <> "\" Then c00 = c00 & "\"
  ar = Sheets(1).Cells(1).CurrentRegion
  For j = 1 To UBound(ar)
    If Dir(c00 & ar(j, 1), 16) <> "" Then Name c00 & ar(j, 1) As c00 & ar(j, 2)
  Next j
End Sub
 
Geweldig

Bedankt voor de bijdrage allemaal.
Mijn probleem is hier echt helemaal mee verholpen.

Zo heb ik meerdere keuzes voor nu is het van VenA de beste oplossing i.v.m. het originele bestand verschillende namen bevat en het niet altijd een spatie is

Henk
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan