Nieuwe map aanmaken met Excel

Status
Niet open voor verdere reacties.

Leon19

Gebruiker
Lid geworden
5 jan 2022
Berichten
20
Beste allemaal,

voor het bedrijf waar ik nu werk moet ik een nieuwe, geautomatiseerde mappen structuur aanmaken. Dit wil ik doen door middel van Excel en VBA.
Echter heb ik hier niet veel verstand van of ervaring mee en hierbij dus de vraag of jullie mij kunnen helpen.

De mappen structuur moet er als volgt uit zien:

Projecten/Projectnummer/Beschrijving

In de map beschrijving moeten de volgende sub-mappen komen te zitten:
- Layout
- Gespreksnotities
- Order
- Offerte
- Software
- E-Plan
- Handleidingen

Ook zou ik voor elk nieuw project graag het projectnummer en de naam van de beschrijving willen aanpassen zodat deze uniek is.

Tot dus ver heb ik de volgende code gemaakt maar ik kom er voor de rest niet uit.

Graag zie ik jullie hulp tegemoet.

Met vriendelijke groet,
Leon
Bekijk bijlage Map1.xlsmBekijk bijlage Map1.xlsm
Bekijk bijlage Map1.xlsm
 
Plaats eens een voorbeeld Excel bestand waarin die projectnummers staan zoals die bij jullie zijn geregistreerd.
 
Projectnummers beginnen weer opnieuw te tellen met dit nieuwe systeem, dus vanaf 0
Beschrijving betekent de naam van het bedrijf van de klant dus opzich is het niks bijzonders zolang ik ze maar voor elk nieuw project kan aanpassen.
 
Maar staat er 1 projectnummer in bijvoorbeeld cel A1?
Of staan er meerdere onder elkaar ofzo waarvoor je automatisch die mappen structuur wilt aanmaken?
 
1 project nummer in bijvoorbeeld cel A1 inderdaad. Het is echt dat we voor elk project een nieuwe mappen structuur aan kunnen maken. Dit onder verschillende projectnummers maar in 1 grote map onder de naam "Projecten"
 
Dan is dit een voorbeeldje:
Code:
Sub ProjectMappen()
    PrjMap = Environ("Userprofile") & "\Desktop\Projecten\" & Sheets("Blad1").Range("A1")
    
    If Dir(PrjMap, vbDirectory) <> "" Then
        MsgBox "De projectmap bestaat al." & vbCrLf & PrjMap, vbCritical, "Project"
        Exit Sub
    End If
    
    MkDir PrjMap
    MkDir PrjMap  & "\Layout"
    MkDir PrjMap  & "\Gespreksnotities"
    MkDir PrjMap  & "\Order"
    MkDir PrjMap  & "\Offerte"
    MkDir PrjMap  & "\Software"
    MkDir PrjMap  & "\E-Plan"
    MkDir PrjMap  & "\Handleidingen"
End Sub
 
Laatst bewerkt:
Mod. Dit topic verplaatst naar VBA
 
Je wil blijkbaar gegevens elektronisch opslaan en niet op papier.
Pas dan je denkwijze aan.
Jouw opzet gaat uit van ordners met tabbladen.
Het is elektronisch veel eenvoudiger bestanden een uniek kenmerk te geven en in 1 directory/folder/map op te slaan.
Dan wordt het zoeken en filteren veel eenvoudiger. (daarmee is Google groot geworden)

Iedere bestandsnaam bestaat dan uit:
- projektnr
- soort document
- volgnummer per documentsoort.

Bijv.

P20220001_LA_001.xlsx (layout)
P20220001_LA_002.docx (layout)
P20220001_LA_003.pdf (layout)

P20220001_GE_001.xlsx (gespreksnotities)
P20220001_OR_001.xlsx (order)
P20220001_OF_001.xlsx (offerte)
P20220001_SO_001.xlsx (software)
P20220001_EP_001.xlsx (E-plan)
P20220001_HA_001.xlsx (handleiding)
 
Edmoor hartstikke bedankt, jou bericht in #6 heeft erg geholpen. Ik heb de code iets aangepast zodat hij nu doet wat ik wil. Alleen heb ik nog een vraag.

In mijn code zie je dat ik nu een map aanmaak met "Projectnummer" en "Beschrijving". Ik zou graag deze twee als variabele uit een excel sheet willen halen. Dus bijvoorbeeld dat ik bij A1 invoer welk projectnummer het is Bijvoorbeeld "1", en dat dan het mapje "Projectnummer" ook daadwerkelijk in "1" veranderd.

Hoe kan ik dit doen?
 

Bijlagen

Als je doet wat in #6 staat en niet je eigen wijzigingen dan werkt het gewoon zoals je vraagt.
 
Als ik dat doe krijg ik een error: "Kan het pad niet vinden"
 
Dan moet je uiteraard een pad opgeven dat wel bestaat en waar je toegang hebt.
Zoals je eerder aangaf, de map Projecten op je bureaublad.
 
Dat heb ik nu gedaan en het werkt. Alleen staat er nu op het bureaublad een map met "Projecten1".

Enig idee hoe dit komt?
 
Dan heb je in de code achter de mapnaam Projecten geen "\" ingegeven.
 
Laatst bewerkt:
Zou je misschien met een voorbeeld kunnen laten zien wat je bedoeld?
 
Als je op je bureaublad een map hebt met de naam Projecten kan je zo de code uit #6 gebruiken.
 
Oke dat is nu gelukt. Ik maak nu inderdaad in de map "Projecten" een nieuwe map aan met het ingevoerde projectnummer.

Zou het ook nog mogelijk zijn om onder de map met het ingevoerde projectnummer, een map aan te maken met een beschrijving van het project?
 
Dat kan je in de code zien toch?
Daar worden ook de andere mappen die je wilde hebben al aangemaakt.
 
Klopt inderdaad, maar ik bedoel eigenlijk dat de map "Beschrijving" nog een extra tussenstap is.

Dus eigenlijk het volgende:

Projecten \ Projectnummer \ Beschrijving \ Layout, order, etc.
 
De code lijkt me erg duidelijk. Verdiep je eens in wat dat doet.
Code:
Sub ProjectMappen()
    PrjMap = Environ("Userprofile") & "\Desktop\Projecten\" & Sheets("Blad1").Range("A1")
    
    If Dir(PrjMap, vbDirectory) <> "" Then
        MsgBox "De projectmap bestaat al." & vbCrLf & PrjMap, vbCritical, "Project"
        Exit Sub
    End If
    
[COLOR="#FF0000"]    MkDir PrjMap & "\Beschrijving"
    PrjMap = PrjMap & "\Beschrijving"[/COLOR]
    MkDir PrjMap  & "\Layout"
    MkDir PrjMap  & "\Gespreksnotities"
    MkDir PrjMap  & "\Order"
    MkDir PrjMap  & "\Offerte"
    MkDir PrjMap  & "\Software"
    MkDir PrjMap  & "\E-Plan"
    MkDir PrjMap  & "\Handleidingen"
End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan