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

Concat of CONCATENATE range op basis van voorwaarde

Status
Niet open voor verdere reacties.

rvmarion

Gebruiker
Lid geworden
11 nov 2010
Berichten
11
Ik ben op zoek naar een functie om een range samen te voegen, waarbij de komlom ernaast aan een bepaalde voorwaarde moet voldoen.

Ik had het probleem dat ik geen bereik kon opgeven in de functie CONCATENATE, dit heb ik opgelost door het gebruik van Concat.

In bijgevoegd bestand een voorbeeld
kolom A zijn de waarde die ik wil samenvoegen (gescheiden door , en een spatie). Alleen de waarde waarvoor in B2 tot B27 een 1 staat moeten worden samengevoegd.

In cel H14 en H15 staan mijn uitprobeerselsBekijk bijlage voorbeeld.xls
 
Daar is wel wat op te vinden, ik zou het met een macro doen.
MAAR Marion, als je een vraag stelt, dan wordt wel verwacht dat je antwoordt op degenen die reageren en als je vraag afdoende (of juist niet afdoende) is beantwoord, dat je dat meedeelt en je vraag als "Opgelost" markeert, zodat andere gebruikers van het forum weten waar ze aan toe zijn. Dat is hier: http://goo.gl/FVSsk nog niet gebeurd.
 
zapatr

sorry, ik kende de functie opgelost nog niet. Ik zal mijn andere topic bijwerken
 
Dan hier een oplossing met een macrootje.
Selecteer de cel waarin je de samengevoegde tekst wil hebben en druk Ctrl-q .
 
Laatst bewerkt:
Dank je wel. Ik heb de macro nog iets aangepast zodat de waarde in een specifiek veld wordt weggeschreven.

Ik wil de macro echter ook kunnen gebruiken voor de andere kolommen. dus naast "Voorbeeld1: Specialist PLC" ook "Voorbeeld 2: remote standby dienst". Dit bij voorkeur in de tweede sheet. Ik ga er even mee puzzelen, maar als jij sneller een oplossing heb dan hou ik mij aanbevolenBekijk bijlage voorbeeld 2.xls
 
Ga naar blad2 en toets Ctrl-q .
Om de macro voor meerdere kolommen te laten gelden, hoef je slechts het getal 3 te wijzigen.
 
@zapatr

Ik heb de macro wat aangepast en deze werkt nu goed. Op het tabblad "rollen en niveau" worden nu de waarden ingevuld in cel F1 en verder.

De macro vult de waarde nu echter niet in op basis van een selectiecriteria. Wat wenselijk is, is dat de macro kijkt naar het veld "rollen en niveau F2" en deze waarde opzoekt "medewerkers en rollen C1, d1 etc" . en dan vervolgens van alle cellen waar een 1 staat de afkortingen van de medewerker samenvoegt
het onderstreepte is zoals het nu ook werkt in de macro.

Reden hiervoor is dat we in de toekomst de excel sheet makkelijk willen kunnen uitbreiden met rollen, kennisitems, medewerkers etc en dat we dan niet alle formules en macro's moeten aanpassen.

Ik hoop dat je mij hiermee kan helpenBekijk bijlage voorbeeld kennismatrixhelpmij.zip
 
@zapatr
Ik heb de macro wat aangepast en deze werkt nu goed. Op het tabblad "rollen en niveau" worden nu de waarden ingevuld in cel F1 en verder.
Als je bladen wijzigt, moet je natuurlijk ook de macro wijzigen, dat is niet goed gebeurd.
Wat wenselijk is, is dat de macro kijkt naar het veld "rollen en niveau F2" en deze waarde opzoekt "medewerkers en rollen C1, d1 etc" . en dan vervolgens van alle cellen waar een 1 staat de afkortingen van de medewerker samenvoegt
Waarom alleen F2?
Moet in "Rollen en niveaus" niet C1 t/m K1 berekend worden?
 
Waarom alleen F2?
Dit is als voorbeeld, uiteindelijk moet dit ook voor G2 en verder gelden. Maar mijn gedachte was, als het voor F2 werkt kan het makkelijk worden uitgebreid naar andere velden. Ook hier geldt dat we later nog rollen willen toevoegen, zonder dat er dan zaken niet meer werken.
Moet in "Rollen en niveaus" niet C1 t/m K1 berekend worden?
Nee, starten bij F1 is correct. Ik heb echter in het voorbeeld bestand 3 kolommen weg gehaald ivm vertrouwelijke info. Ook hier geld dat ik makkelijk een kolom moet kunnen toevoegen/wijzigen zonder dat de waarden dan in de verkeerde kolommen komen.

Ik hoop dat het zo duidelijk is.
 
Nee, starten bij F1 is correct. Ik heb echter in het voorbeeld bestand 3 kolommen weg gehaald ivm vertrouwelijke info. Ook hier geld dat ik makkelijk een kolom moet kunnen toevoegen/wijzigen zonder dat de waarden dan in de verkeerde kolommen komen.
Wil dat zeggen dat de namen die in blad "Medewerkers en rollen" bij "Hardware it-specialist", "Emulatie Sw specialist", en "BCS Sw specialist" horen, in het blad "Rollen en niveaus" NIET in C1, C1, en E1 moeten verschijnen?
 
hoi

het kan ook met een function:

Code:
Function SaVoegen(Tabel As Range, Spec As String) As String
    If Spec = "" Then SamenVoegen = "": Exit Function
    Dim Kolom As Integer 'kolom in tabel bepalen:
    For Kolom = 3 To Tabel.Columns.Count
        If Spec = Tabel(1, Kolom) Then Exit For
    Next Kolom
    If Kolom > Tabel.Columns.Count Then SamenVoegen = "": Exit Function
    Dim Rij As Integer 'nu de eentjes zoeken
    For Rij = 2 To Tabel.Rows.Count
        If Tabel(Rij, Kolom) = 1 Then SaVoegen = SaVoegen + Tabel(Rij, 2) & ", "
   Next Rij
End Function
Bekijk bijlage voorbeeld kennismatrixhelpmij(2.xls

groet sylvester
 
@apatr
Wil dat zeggen dat de namen die in blad "Medewerkers en rollen" bij "Hardware it-specialist", "Emulatie Sw specialist", en "BCS Sw specialist" horen, in het blad "Rollen en niveaus" NIET in C1, C1, en E1 moeten verschijnen?

Dat klopt, want ik wil de kolommen in de definitieve versie weer toevoegen.

@all
ivm vrije dag kan ik pas maandag reageren op nieuwe berichten
 
Dat klopt, want ik wil de kolommen in de definitieve versie weer toevoegen.
Maar in het laatste bestand dat je hier postte, zijn die kolommen wél aanwezig, zoals uit mijn vorig bericht ook duidelijk bleek (!)
Dus blijft de vraag of ze nu wel of niet meegenomen moeten worden in de macro.
Ik post niets meer tot er een antwoord daarop is.
Maar wellicht is mijn macro niet meer nodig, aangezien er tot maandag geen belang aan wordt gehecht, en gelet op de oplossing van sylvester-ponte.
 
Heren

Ik heb alle oplossingen uitgeprobeerd, uiteindelijk bleek de oplossing van sylvester-ponte goed te werken. Hierbij zit ook de validatieslag in.

Zapatr en sylvester-ponte hartelijk bedankt voor de hulp

groet

Rvmarion
 
Ik heb alle oplossingen uitgeprobeerd...
"Alle oplossingen" ?
Er stond er maar 1, nl. die van sylvester-ponte, een prima oplossing overigens.
Wat ik hier eerder plaatste, had betrekking op een ANDERE vraagstelling.Zoals ik hierboven schreef, wachtte ik met een antwoord tot ik meer duidelijkheid had omtrent de probleemstelling.

Hierbij zit ook de validatieslag in
Ik denk dat je iets anders bedoelt, want in de betreffende code zit geen validatie.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan