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

Meerdere resultaten nodig, vlookup niet afdoende

Status
Niet open voor verdere reacties.
Sheet1: werkblad 'info'
Sheet2: werkblad 'werkblad'

Code:
Sub M_snb()
  Sheet1.Cells.UnMerge
  sn = Sheet1.UsedRange
   
  With CreateObject("scripting.dictionary")
    For j = 1 To UBound(sn) - 1
      For jj = 2 To UBound(sn, 2) Step 2
        If InStr(sn(j, jj), "-") Then .Item(sn(j, jj)) = IIf(.Item(sn(j, jj)) = "", sn(j, jj), .Item(sn(j, jj))) & "_" & sn(j, jj - 1) & " " & sn(j + 1, jj - 1)
      Next
    Next
   
    ReDim sp(.Count, 40)
    For j = 0 To UBound(sp) -1
      st = Split(.Items()(j), "_")
      For jj = 0 To UBound(st)
        sp(j, jj) = st(jj)
      Next
    Next
  End With
   
  Sheet2.Cells(1, 4).Resize(UBound(sp) + 1, UBound(sp, 2) + 1) = sp
End Sub
 
Laatst bewerkt:
@snb, ik vond het grappig om eens filter te gebruiken, het werkblad wordt er traag door, maar de lol kon niet op ... .

2 onvolmaakheden
Code:
 ReDim sp([COLOR="#FF0000"].Count - 1,[/COLOR] 55)
          For j = 0 To UBound(sp)
               xxxx = .Items()(j)

               st = Split(.Items()(j), "_")
               For jj = 0 To [COLOR="#FF0000"]Application.Min(UBound(st), UBound(sp, 2)[/COLOR])
 
Laatst bewerkt:
@cow

hoezo filter ?

de eerste eenvoudiger met
Code:
For j = 0 To UBound(sp)-1

Die application.min kan ik helemaal niet plaatsen
 
@Cow en @SNB

Wow, jullie zijn echt een stelletje excel koningen haha, super bedankt!

Weten jullie waarom sommige sku's geen resultaten hebben in het werkblad? (file van SNB)
Is het dan zo dat er maar een model gematched kan worden? Want in dat geval zou ik de resultaten van werkblad 2 met deze sku's kunnen matchen.

@SNB is het mogelijk om mij de file toe te sturen met de resultaten van jouw VBA code? (mijn excel staat in het Nederlands)
Ben benieuwd of die resultaten de file wel 100% vullen.

En iedereen natuurlijk fijne feestdagen gewenst!
 
Is het mogelijk om het volgende te automatiseren?

In de bijgevoegde file zijn de modelnamen niet compleet in het tabblad ModelOverview. Deze wil ik aanvullen middels het tabblad CompleteNames door de incomplete namen hierin te zoeken en als er een match is de waarde uit CompleteNames te kopiëren naar de desbetreffende cel in ModelOverview. Mocht er geen match zijn kan de huidige waarde gewoon blijven staan, indien er wel een match is en de andere waarde in de desbetreffende cel gekopieerd is zou het ook fijn zijn als deze cellen een andere kleur krijgen om het overzichtelijk te houden.

Mocht er iemand een beter idee hebben, ik sta open voor suggesties!
 

Bijlagen

Hoe wil je de gegevens uiteindelijk gepresenteerd zien: als werkblad 'modeloverview', of als werkblad 'completenames' ?
Mij lijkt de weergave zoals in 'completenames' de beste, want eenvoudig vergelijkbaar met een soortgelijke tabel.
Bovendien kan er dan ook gebruik gemaakt worden van een draaitabel.
 
Laatst bewerkt:
Als je office 365 hebt kun je deze in B1 plaatsen en doortrekken. Al zou ik ook de opzet zoals completeNames houden, gezien je daar de juiste data toch al hebt staan.

Code:
=TRANSPONEREN(FILTER(CompleteNames!$B$2:$B$9066;CompleteNames!$A$2:$A$9066=A1))
 
@SNB
Mijn voorkeur gaat inderdaad uit naar de weergave van CompleteNames want een draaitabel zou ideaal zijn.
Het is dan echter wel van belang dat alle aangepaste cellen een andere kleur krijgen omdat ik vermoed dat CompleteNames, anders dan de naam doet vermoeden, mogelijk niet alle modellen bevat.
Dan zou ik daarna de overige nog na kunnen lopen en handmatig aan kunnen vullen.

@JVeer
Thanks voor de formule! Helaas ben ik niet in het bezit van office 365.
Het probleem is dat CompleteNames 3987 unieke sku's heeft als resultaat waar dit er 4669 moeten zijn.
 
Inmiddels heb ik met wat zoekwerk de lijst compleet kunnen maken, ik wil iedereen bedanken voor de hulp en het meedenken!:d
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan