• 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 automatisch sorteren en aanvullen

Status
Niet open voor verdere reacties.

namruuh

Gebruiker
Lid geworden
25 okt 2006
Berichten
43
Om het boodschappen doen te vergemakkelijken heb ik het een en ander in Excel gemaakt. De bedoeling is dat je je boodschappenlijst erin zet, een juiste categorie toekent, en dat het geheel vervolgens netjes op de juiste looproute wordt gezet. De categorieën hebben een volgnummer, en die wordt gebruikt voor het juist sorteren (en opmaken) van de lijst. Dit werkt allemaal.

Echter, ik vraag me af of het volgende ook kan. Als ik een lijst maak met bijv. eieren en brood (en de juiste categorie), dan wil ik dat deze combinatie ergens wordt opgeslagen. Als ik dus volgende week weer eieren intik, dan wordt automatisch de juiste categorie toegevoegd.

Ik heb ermee zitten stoeien, maar ik kom er niet uit. Wat ik van plan was, was om de lijst te selecteren en te kopieren naar een extra tabblad, en dat de kolom 'categorie' bij het invullen in dat tabblad gaat zoeken naar een match tussen het ingevoerde product en een bestaande categorie. Dat zoeken en matchen lukt me denk ik nog wel, maar waar ik problemen mee heb is het correct kopiëren van de huidige boodschappenlijst, en deze op te slaan. Ik zit dan te klooien met opneem-macro's, maar dat gaat niet goed; ik krijg het niet voor elkaar dat het juiste bereik (de huidige boodschappenlijst) wordt geselecteerd, en onder (of boven) de bestaande combinatielijst wordt geplaatst. Kan iemand me daarmee helpen?


Bekijk bijlage Boodschappen.xlsm
 
Maar dan ga je op den duur toch een oneindig aantal dubbele records krijgen, nietwaar?
Hoe wou je dat dan opvangen?
wijzig je huidige Printen-Macro door onderstaande.
Code:
Sub Printen()
    With Sheets("Boodschappen")
        .Range("B4:C" & .Cells(Rows.Count, 2).End(xlUp).Row).Copy Sheets("Lijst").Range("A65536").End(xlUp).Offset(1)
        .Range("B4").Select
    End With
    ExecuteExcel4Macro "PRINT(1,,,1,,,,,,,,2,,,TRUE,,FALSE)"
End Sub
 
Laatst bewerkt:
Daar zat ik ook aan te denken, maar als hij de eerste de beste match neemt, vind ik dubbele records geen bezwaar. En om eens in de x maanden de lijst een keer in te korten mbv een draaitabel ofzo vind ik ook niet zo'n issue. Een mechanisme dat daar ook nog rekening mee houdt wordt me anders veel te ingewikkeld :rolleyes:
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan