Ik heb van dit forum een code afgehaald voor het (met een druk op de knop) opslaan van een werkblad onder een bepaalde oplopende naam. Echter wil ik graag dat deze code het eerste gedeelte van de naam ophaalt uit een bepaalde cel, namelijk B12. Dat stukje code krijg ik echter niet werkend. Ook zou het mooi zijn als de code automatisch een ander werkblad (dat niet nodig is) weggooit tijdens het opslaan.
het gaat om het stukje code achter Omschr =
Alle hulp is welkom
Code:
Option Explicit
Const MijnPad = "\\Heroix\TS2008_Menus$\Terminal_Pro\Desktop\Orders" 'directory waar de facturen staan
Sub tst()
Dim Nr As Integer, Pad As String, c1 As String, x As String, Naam As String, i As Integer
Dim Omschr As String
Omschr = [ThisWorksheet.Reparatiebon!B12].Value & " " & Year(Date) & "-" 'zoek naar factuurnrs van het huidige jaar
Pad = MijnPad & IIf(Right(MijnPad, 1) <> "\", "\", "")
c1 = Dir(Pad & Omschr & "*.xls*") 'zoek xls-files (en xlsm,xlsx, ...) die beginnen met bovenstaande omschrijving
Do Until c1 = "" 'zoeken tot je alle files langsgelopen hebt
x = Replace(c1, Omschr, "") 'verwijder omschrijving
i = InStr(1, x, ".xls") 'nu nog de file-extensie
If i > 0 Then x = Left(x, i - 1)
If IsNumeric(x) Then 'is wat overblijft nog numeric
Nr = WorksheetFunction.Max(Nr, CInt(x)) 'zoek hoogste nummer tot nogtoe
End If
c1 = Dir
Loop
Naam = Omschr & Format(Nr + 1, "000") 'naam van de factuur (voor het geval je max. 999 facturen per jaar maakt
[Reparatiebon!A1].Value = Naam
ThisWorkbook.SaveAs Pad & Naam & ".xlsm"
Workbooks.Open ("\\Heroix\TS2008_Menus$\Terminal_Pro\Desktop\Digitalisatie Werkbonnen\" & "Reparatiebon beta 3.0.xlsm")
ThisWorkbook.Close
End Sub
het gaat om het stukje code achter Omschr =
Alle hulp is welkom
