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

Bedrijfsvorm filteren uit cel

JV_88

Nieuwe gebruiker
Lid geworden
3 apr 2025
Berichten
3
Beste,
Ik wil uit een lijst met firmanamen de bedrijfsvorm filteren.
De bedrijfsvormen staan gespecifieerd in een apart tabblad (die ik eventueel nog zou moeten aanvullen).

Bedoeling is dus dat in het eerste tabblad de bedrijfsvorm gefilterd wordt uit de cel in kolom A en deze plaatst in kolom B.

Ik vertrek dus van hieruit,
1743682835054.png
en zou dus dit willen bekomen
1743682300853.png

De plaats waar de bedrijfsvorm staat in kolom A is dus variabel.

Kan iemand me op weg zetten, met hoe ik er toe kom dat er bekeken wordt als een gedeelte van de cel overeenstemt met een waarde uit het tabblad Bedrijfsvormen?

Alvast bedankt,

mvg

Jeroen
 

Bijlagen

Met een simpele UDF:
Code:
Function BedrijfsVorm(Target As Range) As String
    If InStr(UCase(Target), "COMMV") > 0 Then BedrijfsVorm = "COMMV": Exit Function
    If InStr(UCase(Target), "BVBA") > 0 Then BedrijfsVorm = "BVBA": Exit Function
    If InStr(UCase(Target), "BV") > 0 Then BedrijfsVorm = "BV": Exit Function
    If InStr(UCase(Target), "NV") > 0 Then BedrijfsVorm = "NV": Exit Function
End Function
 

Bijlagen

Bedankt edmoor, ziet er al mooi uit.

Maar in mijn voorbeeld bestand zijn er nog maar enkele bedrijfsvormen opgenomen, de effectieve lijst zal nog een stuk langer zijn.

Kan dit ook op een manier waarop ik niet voor iedere bedrijfsvorm een lijn code moet toevoegen? Maar dat er gekeken wordt op bijvoorbeeld "alle velden" uit de kolom bedrijfsvormen? Zodat ik deze gemakkelijk kan aanvullen met nog andere bedrijfsvormen.

... sorry, maar ik kan niet echt overweg met VBA.

Alvast bedankt voor de hulp.

mvg

Jeroen
 
Je kan het ook zo doen.
Dan hoef je alleen maar de nieuwe bedrijfsvorm bovenin in de string achter BV= toe te voegen.
Zie bijvoorbeeld LLC:
Code:
Function BedrijfsVorm(Target As Range) As String
    BV = Split("COMMV|BVBA|BV|NV|LLC", "|")
 
    For i = 0 To UBound(BV)
         If InStr(UCase(Target), BV(i)) > 0 Then BedrijfsVorm = BV(i): Exit Function
    Next i
End Function
Maar er zitten hier ook functiegoeroes die er wellicht een oplossing voor hebben.
Dan is er geen VBA nodig.
 
Laatst bewerkt:
Of zo, met bedrijfsvormen in een tabel die je ongebreideld kunt uitbreiden, bedrijfsvorm wordt ook uit de firmanaam verwijderd. De bedrijfsvorm moet door een spatie van de firmanaam gescheiden zijn, anders wordt Sams ijssalon voor een Société anonyme aangezien en zijn naam verbasterd tot ms ijssalon.
 

Bijlagen

Je mist de Commv.
 
Oeps, zo niet meer:
Code:
For r = 1 To Range("Tabel1[[bedrijfsvorm]]").Rows.Count + 1
 
Al zitten er nog kleine schoonheidsfoutjes in: er verdwijnen nogal veel spaties, en in bedrijfsnamen waarvan de bedrijfsvorm niet in hoofdletters staat blijft deze nog hangen.
De code licht aangepast kan er zo uitzien:
Code:
Sub Bepaalbedrijfsvorm()
    For f = 2 To Sheets("Lijst").UsedRange.Rows.Count
        firma = Cells(f, 1)
        For r = 1 To Range("Tabel1[[bedrijfsvorm]]").Rows.Count + 1
            BedrijfsVorm = Range("Tabel1[[bedrijfsvorm]]").Rows(r)
            If InStr(UCase(firma), " " & BedrijfsVorm) > 0 Then
                Cells(f, 1) = Trim(Replace(firma, BedrijfsVorm, "", , , vbTextCompare))
                Cells(f, 2) = BedrijfsVorm
                Exit For
            ElseIf InStr(UCase(firma), BedrijfsVorm & " ") = 1 Then
                Cells(f, 1) = Trim(Replace(firma, BedrijfsVorm, "", , , vbTextCompare))
                Cells(f, 2) = BedrijfsVorm
                Exit For
            End If
        Next
    Next
End Sub
 
Enkele formule opties, met alle rechtsvormen in België:
Code:
=ALS.FOUT(REGEXEXTRAHEREN(HOOFDLETTERS(A2);"\b(BVBA|BV|NV|COMMV|VOF|CV|CVBA|VZW|ESV|SE|SCE|ASBL|SCRL|SPRL|SNC|SCS|GIE|EEIG)\b");"")

=ALS.FOUT(XML.FILTEREN("<t><s>"&SUBSTITUEREN(HOOFDLETTERS(A2);" ";"</s><s>")&"</s></t>"; "//s[.='BV' or .='NV' or .='BVBA' or .='COMMV' or .='VOF' or .='CV' or .='CVBA' or .='VZW' or .='ESV' or .='SE' or .='SCE' or .='ASBL' or .='SCRL' or .='SPRL' or .='SNC' or .='SCS' or .='GIE' or .='EEIG']"); "")
De eerste is voor Excel 365, de tweede is voor eerdere Excel-versies.
 

Bijlagen

Laatst bewerkt:
Super !!

Hier mee kan ik zeker verder.

Bedankt voor jullie hulp allemaal.

mvg

Jeroen
 
@AlexCEL,
Code:
=ALS.FOUT(REGEXEXTRAHEREN(HOOFDLETTERS(A2:A7);"\b("&TEKST.COMBINEREN("|";;Bedrijfsvormen!A1:A12)&")\b";;0);"")
 
Terug
Bovenaan Onderaan