• 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.

Opvolgens nummer bepalen a.h.v. inhoud map

Status
Niet open voor verdere reacties.

Gert Bouwmeeste

Verenigingslid
Lid geworden
28 nov 2007
Berichten
822
Ik heb een map (zonder sub-mappen) waarin een groot aantal Excel-bestanden (Office 2010) staan. De bestandsnamen beginnen allemaal met "2013-xxxx ".

Nu wil ik graag vanuit een Excel-werkmap in cel C18 het opvolgende nummer hebben. Dus als in de map het laatst gebruikte nummer "2013-0458 " is wil ik dat de macro in cel C18 "2013-0459 " neerzet.

Wie kan mij helpen hiervoor een macro te maken?
 
Zoiets?
Code:
Private Sub Workbook_Open()
d = "C:\" 'geef hier locatie aan bijv: G:\OF\Test\
f = Dir(d & "\*.xlsx") 'pas hier zonodig de extensie van de te zoeken bestanden (xls/xlsm/etc.)
    Do While f <> ""
        j = j + 1
        f = Dir
    Loop
Sheets(1).Cells(18, 3) = j + 1 'locatie waar de aantallen komen
End Sub
 
Laatst bewerkt:
Bedankt. Ik heb 'm iets aangepast, zodat alleen de betreffende Excdel-bestanden worden gevonden. En niet per ongeluk een PDF's die in die map terecht is ggekomen.
 
Wil je echt het laatst gebruikte nr en niet het aantal bestanden (wat mi steeds kan verschillen tov laatstgebruikte nr).
Code:
Sub test()
  Dim Nr As Integer, c1 As String, x As String, i As Integer
  c1 = Dir("G:\Mijn documenten\" & "2013-" & "*.xls*") 'pad aanpassen
  Do Until c1 = ""
    x = Replace(c1, "2013-", "")
    i = InStr(1, x, ".xlsx") 'eventueel extensie aanpassen
    If i > 0 Then x = Left(x, i - 1)
    If IsNumeric(x) Then
      Nr = WorksheetFunction.Max(Nr, CInt(x))
    End If
    c1 = Dir
  Loop
  [C18].Value = "2013-" & Format(Nr + 1, "0000")
End Sub
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan