Delen via

Volgend nummer genereren

Anoniem
2021-12-01T11:46:06+00:00

Hallo Allemaal,

Ik wil een opvolgend nummer genereren in een cel bij openen van het bestand. Nu is dit gelukt met onderstaande VBA code echter wil ik hier nog een tekst aan vooraf laten gaan IO-E- Dit lukt echter niet. Heeft iemand een oplossing?

Private Sub Workbook_Open() Range("D2").Value = Range("D2").Value + 1``End Sub

Groeten,

Edwin

Microsoft 365 en Office | Excel | Voor thuisgebruik | Windows

Vergrendelde vraag. Deze vraag is gemigreerd vanuit de Microsoft Ondersteuning-community. U kunt met een stem aangeven of de inhoud nuttig is, maar u kunt geen opmerkingen of antwoorden toevoegen of de vraag volgen.

0 opmerkingen Geen opmerkingen

Antwoord geaccepteerd door vraagauteur

Anoniem
2021-12-03T18:40:20+00:00

@Jan,

Mijn opmerking dat het niet zou uitmaken of die slash er wel of niet staat is gebaseerd op het feit dat ik de macro die ik vandaag in dit topic als voorbeeld plaatste (in het bericht dat begint met "Stel dat:") zowel heb getest met:

mijnmap = "C:\Users\Gebruikersnaam\Documents\Facturen" (=mét slash op het eind);

als met

mijnmap = "C:\Users\Gebruikersnaam\Documents\Facturen" (=zónder slash op het eind).

Die macro werkt in beide gevallen goed.

Niettemin ben ik het met je eens dat de slash best wél wordt geplaatst (en in mijn macro staat die er ook).

Het uitroepteken schreef de vragensteller in deze regel:

"Het bestand "PDF bestanden***!***E-21121Company name.pdf" word aangemaakt..."

Het komt mij wat vreemd over.

Was dit antwoord nuttig?

1 persoon vond dit antwoord nuttig.
0 opmerkingen Geen opmerkingen

Antwoord geaccepteerd door vraagauteur

Anoniem
2021-12-01T14:37:02+00:00

De macro in mijn vorig bericht moet je handmatig uitvoeren. Wil je dat het getal in D2 automatisch bij openen van het bestand wordt opgehoogd, dan moet de macro uiteraard staan in het vba-blad behorend bij "ThisWorkbook". Die macro ziet er dan zo uit:

Private Sub Workbook_Open() 

With Sheets(1).Range("D2") 

.Value = Left(.Value, 5) & Right(.Value, Len(.Value) - 5) + 1 

End With 

End Sub

Was dit antwoord nuttig?

1 persoon vond dit antwoord nuttig.
0 opmerkingen Geen opmerkingen

17 extra antwoorden

Sorteren op: Meest nuttig
  1. Anoniem
    2021-12-03T13:51:00+00:00

    De macro die ik gaf, is correct.

    Als jouw eigen macro niet werkt, dan moet je de fout dus in de gegevens gaan zoeken die je in vergelijking met mijn macro hebt gewijzigd. Of het door jou gebruikte pad juist is bv, dat kan alleen jijzelf beoordelen, want wij hebben geen inzage in jouw computer.

    Bestandsnamen met een uitroepteken, de naam van een map die eindigt op een dwarsstreepje: ik zeg niet dat het niet mag, maar die dingen kun je best vermijden.

    Was dit antwoord nuttig?

    0 opmerkingen Geen opmerkingen
  2. Anoniem
    2021-12-03T13:07:41+00:00

    Sorry, maar het wil niet lukken; Onderstaande code gebruikt:

    Sub OpslaanAlsPDF()

    With ThisWorkbook.Sheets("Inkoop order")

    mijnmap = "C:\Users\Edwin-FPS-\OneDrive -Gezamelijk\Onedrive Edwin\Inkooporders\2021\PDF bestanden"

    .ExportAsFixedFormat Type:=xlTypePDF, Filename:=mijnmap & _

    .Range("H3").Value & .Range("B9").Value & ".pdf", Quality:=xlQualityStandard, _

    IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=True

    End With

    End Sub

    Het bestand "PDF bestanden!E-21121Company name.pdf" word aangemaakt in de map "C:\Users\Edwin-FPS-\OneDrive -Gezamelijk\Onedrive Edwin\Inkooporders\2021

    Zou moeten zijn "E-21121 Company name.pdf" in de map "C:\Users\Edwin-FPS-\OneDrive -Gezamelijk\Onedrive Edwin\Inkooporders\2021\PDF bestanden"

    Was dit antwoord nuttig?

    0 opmerkingen Geen opmerkingen
  3. Anoniem
    2021-12-03T10:57:54+00:00

    Stel dat:

    • Blad1de naam van het Excelblad is dat je wil opslaan;
    • "C:\Users\Gebruikersnaam\Documents\Facturen" de map en het pad zijn waarin je de pdf-file wil opslaan (door jou aan te passen: de namen van de mappen Gebruikersnaam en Facturen, en desgewenst ook de andere mapnamen in het pad en de schijfnaam).
    • je de pdf deze naam wil geven: de inhoud van de cellen W1&W3&D2&D3, waarbij ik ervan uitgegaan ben dat in D2 staat: IO-E-NR (NR is een getal) en in D3 een naam (aan te bevelen is waarschijnlijk om spaties te gebruiken, hangt af van wat er in de vermelde cellen staat);
    • kun je onderstaande macro gebruiken: Sub OpslaanAlsPDF() With ThisWorkbook.Sheets("Blad1") mijnmap = "C:\Users\Gebruikersnaam\Documents\Facturen" .ExportAsFixedFormat Type:=xlTypePDF, Filename:=mijnmap & _ .Range("W1").Value & .Range("W3").Value & .Range("D2").Value & _ .Range("D3").Value & ".pdf", Quality:=xlQualityStandard, _ IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=True End With End Sub

    Was dit antwoord nuttig?

    0 opmerkingen Geen opmerkingen