[Excel] cellen samenvoegen maken en nummer genereren

Pagina: 1
Acties:
  • 523 views sinds 30-01-2008
  • Reageer

Acties:
  • 0 Henk 'm!

  • Mad_Manic
  • Registratie: Juli 2000
  • Laatst online: 23:51
Ik zit met de volgende vraag. Voor een managementrapportage systeem ben ik aan het proberen om in Excel een projectcode te generen. Deze projectcode wil ik laten bestaan uit de initialen van de naam van de medewerker, initialen van het werkgebied en een oplopend getal.

Bijvoorbeeld Jan Jansen (JJ) die in Zeeland (ZE) een opdracht (01) uitvoert.
Dan wil ik dat de projectcode wordt: JJZE01.
Het volgende project dat hij uitvoert, ook al is de provincie anders moet oplopend zijn en dus 02.

Ik heb de waarden met de naam van de medewerker en de provincie in aparte cellen staan en zoek dus een formule of script om van alleen de initialen en afkorting van provincie een oplopend projectgetal te maken.

Ik heb al wat geprobeerd met =tekst.samenvoegen(##;##;##;etc...) maar kom daar niet mee uit.

Acties:
  • 0 Henk 'm!

  • DPLuS
  • Registratie: April 2000
  • Niet online

DPLuS

 

Eerst de initialen uit de naam slopen met de functie RECHTS, dan met diezelfde functie de beginletters van de provincie extraheren, daarna vanuit een cel het oplopend nummer kopiëren en het geheel via tekst.samenvoegen bijelkaar brengen.
Daarna het nummer nog verhogen met + 1.

Acties:
  • 0 Henk 'm!

  • QuaQu
  • Registratie: Oktober 2002
  • Laatst online: 18-08-2021
  • Voor het maken van initialen mbv excell kun je RIGHT en LEFT gebruiken. De eerste letter is dan de eerste letter van links en de tweede letter kun je vinden als de eerste letter na de spatie, gezien van rechts. Voor het vinden van de spatie moet je FIND ( :+ ) gebruiken
  • Voor het maken van de provincie-afkorting moet je denk ik maar een VB-ding schrijven, dat wordt in excel nogal lastig 11 geneste IF-functies worden wel een hel! Ik ben alleen niet bekend met VBA, dus kan ik je daar niet mee verder helpen. Als je bedoelde dat je al een lijst met afkortingen van de provincies hebt, dan is dat alleen maar makkelijker..
  • Om van nummers een geformatte tekst te maken, moet je TEXT gebruiken en kan je dmv format-string 0# ervoor zorgen dat alle cijfers 2 plekken gebruiken mbv een 0.
  • Ik zou voor de losse inderdelen van je afkorting eerst cellen maken en die kan je dan samenvoegen met CONCATENATE
Mij was het gelukt om na vier minuten spelen met bovenstaande gegevens wat in elkaar te draaien wat je bedoelt, dus zo zou het moeten lukken.

P.S. Als je voor de provincies idd alleen de eerste twee letters wil, dan kan je dat met RECHTS doen, maar dat kan weer verwarrend zijn met Noord-Holland en Noord-Brabant e.d.

"Ik heb een boel geld uitgegeven aan drank, vrouwen en snelle auto's. De rest heb ik over de balk gesmeten." - George Best


Acties:
  • 0 Henk 'm!

  • onkl
  • Registratie: Oktober 2002
  • Laatst online: 16:42
DPLuS schreef op woensdag 12 juli 2006 @ 14:44:
Eerst de initialen uit de naam slopen met de functie RECHTS, dan met diezelfde functie de beginletters van de provincie extraheren, daarna vanuit een cel het oplopend nummer kopiëren en het geheel via tekst.samenvoegen bijelkaar brengen.
Daarna het nummer nog verhogen met + 1.
TS: Er is een kans dat de eerste letters van een woord bij jou aan de linkerkant staan. Mocht dat zo zijn, dan is het goed te weten dat excel ook een functie links heeft.

[ Voor 54% gewijzigd door onkl op 12-07-2006 17:53 ]


Acties:
  • 0 Henk 'm!

  • KingRichard
  • Registratie: September 2002
  • Laatst online: 21-03 22:06

KingRichard

former Duke of Gloucester

QuaQu schreef op woensdag 12 juli 2006 @ 16:43:
[...]
P.S. Als je voor de provincies idd alleen de eerste twee letters wil, dan kan je dat met RECHTS doen, maar dat kan weer verwarrend zijn met Noord-Holland en Noord-Brabant e.d.
Voor de provincie's zou ik een lijstje maken met namen en afkortingen die je met VLOOKUP (VERT.ZOEKEN) kunt doorlopen. Dit is waarschijnlijk ook een goed idee voor de namen van medewerkers, anders krijgen Jan Jansen en Joop Janssen dezelfde projecten toegewezen :).
Het automatisch laten oplopen van het nummer is nog niet zo makkelijk. Dit gaat betekenen dat je per medewerker een aparte tabel met projectnummers moet gaan (laten) bijhouden, óf behoorlijk ingewikkelde array-formules moet gaan schrijven. Dus ga je al gauw denken aan een custom VBA-functie.
offtopic:
En daar ben ik in principe tegen. VBA dient alleen gebruikt te worden voor gebruikersinterfaces, óf verbindingen met andere applicaties/databases óf als het echt niet anders kan.
Zoals ik zo vaak hier zie: je probeert database-functionaliteit in een spreadsheet te stoppen. Waarom gebruik je niet gewoon Access? Dan heb je in één keer alles wat je wilt.

a horse! a horse! my kingdom for a horse! (exeunt)
[got.profile] | [t.net.profile] | [specs]


Acties:
  • 0 Henk 'm!

  • Mad_Manic
  • Registratie: Juli 2000
  • Laatst online: 23:51
Bedankt voor de antwoorden. Met de functie rechts krijg ik enkel de laatste twee karakters uit die cel en met links kom ik er ook niet omdat bijvoorbeeld maarten en maaike dezelfde eerste drie letters hebben. Ik heb als oplossing de initialen achter de naam gezet in dezelfde cel gezet en dan kun je wel met de functie rechts werken. Ik ben nu zover dat ik het volgende heb:
=TEKST.SAMENVOEGEN(RECHTS(C16;2);RECHTS(F16;3))
We hebben maar 3 werkgebieden dus ik heb gewoon een pullmenu gemaakt in een cel(F16) waaruit een van de drie wordt geselecteerd.
Ik zit nu dus te worstelen met de laatste slag en dat is het genereren van een oplopend nummer. VBA heb ik btw geen ervaring mee, helaas.

Acties:
  • 0 Henk 'm!

  • onkl
  • Registratie: Oktober 2002
  • Laatst online: 16:42
Ik zou gewoon een hulpkolom pakken waarin het getal oplopend staat. Die kan je volzetten (gewoon slepen) en vervolgens verbergen.
Een andere oplossing zou zijn om het getal van het project erboven te plukken en er 1 bij op te tellen..
Dat zou iets zijn als =Waarde(Rechts(G15,2))+1

Acties:
  • 0 Henk 'm!

  • Mad_Manic
  • Registratie: Juli 2000
  • Laatst online: 23:51
KingRichard schreef op woensdag 12 juli 2006 @ 21:42:
Zoals ik zo vaak hier zie: je probeert database-functionaliteit in een spreadsheet te stoppen. Waarom gebruik je niet gewoon Access? Dan heb je in één keer alles wat je wilt.
Daar heb je helemaal gelijk in. Nadat het projectnummer is aangemaakt zullen daarna alleen nog maar spreadsheet achtige berekeningen worden gemaakt waarbij uren weggeschreven gaan worden. Helaas is Excel een eis omdat dit voor een samenwerkingsverband van organisaties wordt gemaakt.

Acties:
  • 0 Henk 'm!

  • Mad_Manic
  • Registratie: Juli 2000
  • Laatst online: 23:51
Met jullie hulp is het maken van het projectnummer gelukt. Ik wil nu er voor zorgen dat het projectnummer nadat het eenmaal gemaakt is niet meer gewijzigd kan worden. Als je bijvoorbeeld een van de waarden die in het projectnummer staan later wijzigt dan veranderd hierdoor meteen het projectnummer ook. Kortom ik wil dat een waarde in een pull menu maar 1x geselecteerd kan worden, of alleen gewijzigd met waarschuwing. Iemand ideeen?

Acties:
  • 0 Henk 'm!

  • KingRichard
  • Registratie: September 2002
  • Laatst online: 21-03 22:06

KingRichard

former Duke of Gloucester

Hoe heb je het eerste probleem nu opgelost? Hoe dan ook, het lijkt me dat je nu zeker met VBA aan de slag moet...

a horse! a horse! my kingdom for a horse! (exeunt)
[got.profile] | [t.net.profile] | [specs]

Pagina: 1