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

Boodschappenlijst

Status
Niet open voor verdere reacties.

maudcatering

Nieuwe gebruiker
Lid geworden
9 mrt 2017
Berichten
2
Hoi,

Ik hoop dat iemand mij hiermee kan helpen want ik ben er een beetje uit en kan mij niet meer herinneren hoe ik dit het beste kan doen.

Ik wil graag dat mijn excel automatisch een boodschappenlijst maakt.

Ik wil graag dat mijn workbook identieke woorden herkent, zoals brood, deze vervolgens optelt zodat ik een boodschappenlijst krijg.
Het moet alleen de woorden van de sheets onbijt, lunch en diner meenemen.

Zie bijlage voor een versimpelde variant, zo heb ik bij ontbijt en lunch brood staan. Als totale booschappenlijst zou ik graag die 2x brood bij elkaar opgeteld zien.

Ik hoop dat iemand mij kan helpen!

Groetjes MaudBekijk bijlage voorbeeld.xlsx
 
Laat code hsv() maar eens lopen en zie het resultaat in tabblad boodschappenlijst.

Edit.

Misschien is onderstaande code nog wel sneller en beter begrijpbaar.
Code:
Sub hsv()
Dim sh As Worksheet, sn, i As Long, a, b(2)
With CreateObject("scripting.dictionary")
 For Each sh In Sheets
 If sh.Name <> "Boodschappenlijst" Then
 sn = sh.Cells(1).CurrentRegion
 If IsArray(sn) Then
  For i = 1 To UBound(sn)
     a = .Item(sn(i, 1))
     If IsEmpty(a) Then a = b
        a(0) = sn(i, 1)
        a(1) = a(1) + sn(i, 2)
        a(2) = sn(i, 3)
     .Item(sn(i, 1)) = a
    Next i
  End If
 End If
 Next sh
   Sheets("boodschappenlijst").Cells(1).Resize(.Count, 3) = Application.Index(.items, 0, 0)
End With
End Sub
 

Bijlagen

Laatst bewerkt:
Hoi HSV,
Jouw (nieuwe) code is inderdaad begrijpelijker.

Blijf ik met een vraag zitten:
Code:
Application.Index(.items, 0, 0)
In het objecten overzicht komt de methode / eigenschap Index niet voor als lid van Application.

Wil je dat nader toelichten?

emil
 
Toelichting.
Code:
worksheetfunction.Index(.items, 0, 0)
 
maudcatering <> Emil S ?

Maakt niet uit.
De codes zijn voor eenieder.


Veel plezier ervan.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan