Automatisch text genereren op basis van cellen

Status
Niet open voor verdere reacties.

DavidSz

Gebruiker
Lid geworden
26 dec 2019
Berichten
30
Hallo,

Ik ben niet zeker in welk office programma dit zou kunnen (en of dit überhaupt mogelijk is) maar hieronder wat ik zou willen bereiken.
Ik heb in een Excel volgende kolommen/lay-out dat ik invul. (excel in bijlage)

Screenshot_1f.png

Nu zou ik willen dat hij een tekst genereert met de volgende info:

  • Naam auditor
  • Datum Audit
  • Offer nummer
  • Norm 1

Ik zou willen dat hij de tekst als volgt aanmaakt: norm 1 audit uitgevoerd door naam auditor op datum audit volgens offerte offer nummer

Is dit mogelijk? Het liefst zou ik dit in één en zelfde programma hebben dus of in de Excel of in een ander office programma die ook excel formules aankan.

Alvast bedankt voor de info.

Met vriendelijke groeten,
David
 

Bijlagen

  • voorbeeld bestand.xlsx
    35,8 KB · Weergaven: 11
Ik heb geen flauw idee wat je bedoelt. Ik zie in kolom A wel her en der de tekst 'Norm 1' opduiken, maar niet hoe je die daar invult (geautomatiseerd). Laat staan wat de output zou moeten zijn in de blauwe cellen. Lijkt mij dat je beter een voorbeeld kan maken met het gewenste resultaat, i.p.v. alleen maar vragen dat je 'een tekst genereert' vraagt.
 
Ik heb geen flauw idee wat je bedoelt. Ik zie in kolom A wel her en der de tekst 'Norm 1' opduiken, maar niet hoe je die daar invult (geautomatiseerd). Laat staan wat de output zou moeten zijn in de blauwe cellen. Lijkt mij dat je beter een voorbeeld kan maken met het gewenste resultaat, i.p.v. alleen maar vragen dat je 'een tekst genereert' vraagt.

Hallo, ja sorry het was misschien niet heel duidelijk in bijlage een ingevuld voorbeeld te meeste blauwe vakken vul ik handmatig in (behalve de bedragen). Zie onderaan het tab gewenste output met een voorbeeld van hoe ik de tekst wil laten genereren.
In de tekst blijft alles idem behalve wat rood is dat veranderd steeds per calculatie.
 

Bijlagen

  • voorbeeld bestand.xlsx
    34,1 KB · Weergaven: 29
Is er een reden dat je mijn berichtje quoot? Ik zie 'm namelijk niet (in tegenstelling tot mijn bericht, die luid en duidelijk tussen jouw berichten staat. Ik kan hem althans beter lezen als die domme quoot).

Ik snap je proces nog steeds niet; je hebt nu wel meer blauwe velden ingevuld, maar op grond waarvan? En waar staat de in te vullen informatie? Die moet namelijk érgens vandaan komen. Je hebt nu met kleurtjes tekst in een cel gemarkeerd die ik terug zie op het tabblad Output, maar het is (met formules en ik vermoed ook met VBA) niet mogelijk om een cel samen te stellen met op basis van variabele tekst (celverwijzingen) in een andere kleur.
Dus deze formule:
PHP:
="ACS-018, BRC, Colruyt audit uitgevoerd door " & Sheet1!C1 & " op " & Sheet1!C2 & " volgens offerte " & Sheet1!C3
stelt wél de string samen, maar neemt niet de kleur mee.
 
Hallo Octafish,

In bijlage vindt je de Excel en kan je zien wat ik reeds bereikte. Ik bereikte het volgende:

Lezen in kolom A welke standard er staat (ACS-018, IFS, BVI,...) en dit dan outputten in kolom B.
Op Sheet 2 is het mij gelukt om je formule een beetje aan te passen en de zin op te maken met de standard die kan veranderen. Alleen stoot ik op een probleempje.

De formule hoe die er nu staat werkt enkel met 1 standard het probleem is dat het aantal standarden (ACS-018, IFS, BVI,..) kan variëren het kan dus zijn dat er in de zin 1 standard is maar het kan ook zijn dat er 5 zijn..

Ik heb dus hulp nodig (indien mogelijk) met het volgende:

  • Extra normen in de zin zetten
  • Komma's tussen de normen (indien van toepassing

Een moeilijkheidsgraad is dat er niet een standaard aantal is zoals hierboven vermeld, er wordt dus indien van toepassing een extra kolom toegevoegd, zie voorbeeld in Sheet 3.
De kleuren in Sheet 3 zijn puur visueel om te tonen wat er is bijgekomen.

Als ik die kolommen toevoeg is dit via ctrl + c en plak ik dit via insert copied cell. Dit betekent dat hij alle formules etc mee neemt.

Hopelijk is dit duidelijk..
 

Bijlagen

  • voorbeeld bestand.xlsx
    38,2 KB · Weergaven: 31
Laatst bewerkt:
Is dit de bedoeling?
Code:
=ALS(Sheet1!B9="";ALS(Sheet1!B8="";Sheet1!B7&" audit uitgevoerd door "&Sheet1!D1&" op "&Sheet1!D2&" volgens offerte "&Sheet1!D3;Sheet1!B7&", "& Sheet1!B8&" audit uitgevoerd door "&Sheet1!D1&" op "&Sheet1!D2&" volgens offerte "&Sheet1!D3);Sheet1!B7&", " &Sheet1!B8&", "& Sheet1!B9&" audit uitgevoerd door "&Sheet1!D1&" op "&Sheet1!D2&" volgens offerte "&Sheet1!D3)
 
Hallo, mijn excel is in het engels ik heb de ALS naar IF veranderd maar hij geeft een foutmelding met deze formule. Ik denk dat hij blijft hangen op de "" van =ALS(Sheet1!B9="";
 
@VenA dat werkt bedankt!

@Mde, je formule werkt, maar het probleem is dat het niet altijd meerdere standarden zijn als je snapt wat ik bedoel? Zie printscreens hieronder van een paar voorbeelden.

Voorbeeld 1 (3 standarden)
Screenshot_5.png

Voorbeeld 2 (1standard)
Screenshot_6.png

Voorbeeld 3 (5 standarden)
Screenshot_7.png

Ik kan vooraf niet weten hoeveel standarden er zullen zijn dit kan 1 zijn maar ook 10.. ik weet dus niet of mijn vraag realistisch is? Misschien moet ik een custom formule maken maar ik ken geen Visual Basic.
Ik zoek eigenlijk een formule die kan werken met 1 standard maar ook met 10 dus een formule die zichzelf kan "extenden".

Als dit niet haalbaar is mag dit ook gerust gemeld worden.
 
Het zal vast mogelijk zijn, maar dan zou ik als ik jou was eerst kijken naar een standaard oplossing bv. een tabel met alle certificaatkosten en registratiekosten en die dan aanvinken zoals je doet in kolom G.
 
Waarom zou ik een tabel met alle certificaatkosten en registratiekosten moeten hebben en dit aanvinken? De bedoeling is een zin genereren met de standarden, auditor naam, datum en offerte referentie in.
De zin genereren lukt alleen is het geen flexibele oplossing het is of 1 standaard of meteen een fixed aantal (bv 3 zoals in jouw voorbeeld)
 
Uit een tabel kan je makkelijker gegevens halen, alles staat op een vaste plek en dus makkelijker op te halen.
Nu staat b.v. in B8 wel een certificaat vermeld en bij een volgend document staat er b.v. verplaatsing en dat is niet in een formule te verwerken.
En als het goed is kan je in mijn voorbeeld 1, 2 of 3 certificaten invoeren op voorwaarde dat er elke keer 3 certificaten vermeld worden, gevuld of niet.
 
Certificatiekosten is 1 woord.

Met een UDF
Code:
Function VenA(r1, r2)
  ar = r1
  For j = 1 To UBound(ar)
    If Left(ar(j, 1), 4) = "Cert" Then c00 = c00 & ", " & Replace(Split(ar(j, 1), "- P")(0), "Certificatiekosten", "")
  Next j
  VenA = Trim(Mid(c00, 3)) & " audit uitgevoerd door " & r2(1, 1) & " op " & IIf(IsDate(r2(2, 1)), Format(r2(2, 1), "d-m-yyyy"), r2(2, 1)) & " volgens offerte " & r2(3, 1)
End Function
 

Bijlagen

  • voorbeeld bestand (3).xlsb
    30,1 KB · Weergaven: 22
@VenA dit werkt super bedankt (ook bedankt voor de verbetering). Is er echter een reden waarom ik de formule niet kan verplaatsen? Wat moet ik veranderen in je formule om hem te kunnen verplaatsen?
 
Wat bedoel je met verplaatsen? Je kan de formule in het hele werkboek gebruiken. Als je de formule in een ander bestand wil gebruiken dan zal je ook de UDF in dat bestand moeten zetten.
 
@VenA, nvm daarnet gaf die een foutmelding bij het verplaatsen nu lukt het! Mag ik je een laatste vraag stellen? Kan je de code ook in het Frans maken? Ik heb geprobeerd maar hij wilt niet voor één of andere reden

Jouw Code:

Code:
Function VenA(r1, r2)
  ar = r1
  For j = 1 To UBound(ar)
    If Left(ar(j, 1), 4) = "Cert" Then c00 = c00 & ", " & Replace(Split(ar(j, 1), "- P")(0), "Certificatiekosten", "")
  Next j
  VenA = Trim(Mid(c00, 3)) & " audit uitgevoerd door " & r2(1, 1) & " op " & IIf(IsDate(r2(2, 1)), Format(r2(2, 1), "d-m-yyyy"), r2(2, 1)) & " volgens offerte " & r2(3, 1)
End Function

De Franse versie (die niet werkt)

Code:
Function VenAFR(r1, r2)
  ar = r1
  For j = 1 To UBound(ar)
    If Left(ar(j, 1), 4) = "Frais" Then c00 = c00 & ", " & Replace(Split(ar(j, 1), "- P")(0), "Frais de certification", "")
  Next j
  VenAFR = Trim(Mid(c00, 3)) & " audit effectués par " & r2(1, 1) & " le " & IIf(IsDate(r2(2, 1)), Format(r2(2, 1), "d-m-yyyy"), r2(2, 1)) & " suivant l'offre signée " & r2(3, 1)
End Function

bedankt!
 

Bijlagen

  • Copy of voorbeeld bestand (VenA).xlsb
    33,2 KB · Weergaven: 37
Laatst bewerkt:
Code:
If Left(ar(j, 1), [COLOR="#FF0000"]5[/COLOR]) = "Frais"
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan