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

Fout in code voor automatisch opslaan

Status
Niet open voor verdere reacties.

naprius

Gebruiker
Lid geworden
25 apr 2007
Berichten
147
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.

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 :)
 
of
Code:
Omschr = [Reparatiebon!B12] & " " & Year(Date) & "-"
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan