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

VBA sorteren, verspreiden en invoeren

Status
Niet open voor verdere reacties.

rolfhilhorst

Gebruiker
Lid geworden
26 feb 2011
Berichten
21
Zou iemand mij kunnen helpen?
Ik heb een bestandje toegevoegd,
De bedoeling is dat via de opdrachtknop sorteren en verspreiden in het formulier fruit de gegevens worden gekopieerd naar de verschillende bladen en daar worden gesorteerd op Cijfer. Het Label op het werkblad FRUIT geeft aan waar ze terecht moeten komen. Alleen de Labels met een Z toegevoegd horen niet alleen in het werkblad met de betreffende eerste letter te komen maar ook in het werkblad Z. Dan is het nog dat hierna ook de gegevens waarbij Grens, JA is in het werkblad Grens horen te komen. En er via het formulier fruit, knop proeven invoeren, de gegevens van de 3 proeven ingevoerd kunnen worden, waarbij alleen de gegevens van de soort, herkomst en naam worden weergegeven in het formulier en daaronder invul mogelijkheden. Ik heb geen idee hoe ik dit zou kunnen maken in VBA.
Groeten Rolf
 

Bijlagen

Laatst bewerkt:
Hoi Rolf,

Ik zal de code niet voor jouw schrijven maar zal je een beetje op weg helpen.

Persoonlijk zou ik een autofilter zetten op de tabel.
Je kan dan héél eenvoudig alle rijen met bijvoorbeeld "Label = A" filteren.
Met de instructie "SpecialCells(xlCellTypeVisible)" kan je dan de zichtbare cellen van de tabel in één keer kopiëren naar de "A" werkblad.

Zet vervolgens de filter op "bevat Z" en je kan de rijen met een Z ergens in het label kopiëren naar de "Z" werkblad.
Zet vervolgens de filter op "is gelijk aan J" en je kan de rijen met label = J kopiëren naar de "J" werkblad.

Wanneer je de methode begrepen hebt, kan je zeer eenvoudig alles netjes kopïeren :)
 
Code om de filter te definiëren

"rngTable" is de naam van de range die de volledige tabel (of meer) bevat
Voorbeelden voor criteria in kolom "Label"
Code:
Sheets("FRUIT").Range("rngTable").AutoFilter Field:=12, Criteria1:="A"
Sheets("FRUIT").Range("rngTable").AutoFilter Field:=12, Criteria1:="=*Z*"

Voorbeeld voor criteria in kolom "Grens"
Code:
Sheets("FRUIT").Range("rngTable").AutoFilter Field:=11, Criteria1:="JA"


Code om de gefilterde rijen te kopiëren
Code:
Sheets("FRUIT").Range("rngTable").SpecialCells(xlCellTypeVisible).Copy Sheets("Z").Range("A10")
Merk op dat ik de selectie gewoon vanaf cel A10 plak omdat ik niet weet wat er met reeds bestaande data in de tabel op sheet "Z" moet gebeuren.
Vandaar dat ik ook niet meer code schrijf, we hebben niet genoeg informatie.


Wel heb je hiermee de twee belangrijkste functies voor je macro:
1) De filter opzetten
2) De gefilterde data kopiëren

Aangezien je zes criteria's heb, heb je genoeg aan 12 lijnen code :cool:

Hopelijk heb je hier iets aan... ...
 
Beste mcs51mc,
Je hebt me geweldig op weg geholpen...
Ik ben aan de slag gegaan en leer gelijk van alles bij, tegek! Daarentegen moet ik het wel voornamelijk hebben van wat knip en plak werk, dat aanpassen enz.
Het volgende bestandje had ik tot je tweede reactie kunnen maken.
Nu ga ik verder met de informatie uit je tweede reactie.
Erg bedankt, ik zal er zeker veel aan hebben.
 

Bijlagen

Het eerste gedeelte is gelukt met uw hulp, super...
Nu loop ik alleen nog vast bij het invoeren van de proefgegevens(integer) in het werkblad Grens. Welke methode kunt u aanraden om in kolom M,N,O 3 verschillende waardes in te voeren via het formulier waarbij voorstaande kolommen B,C,D al worden weergegeven in tekstboxen(of eventueel box/list/combo/tekst?).
Is daar ook een bepaalde instructie voor?
Groeten, Rolf
 

Bijlagen

Ik begrijp je vraag/probleem niet goed :(
Op het formulier "Proeven" het je 6 velden: Soort, Herkomst, Naam, Proef 1, Proef 2 en Proef 3.

Velden "Soort", "Herkomst" en "Naam" komen uit de kolommen B tem D van de sheet "Grens", right?

Is het probleem de data van de drop down boxen in kolommen M tem O te krijgen of heb je een probleem met in het invullen van de drop down boxen Proef 1 tem Proef 3 op je formulier??
In dat laatste geval, zijn dat vaste teksten voor elk drop down of zijn die afhankelijk van kolommen B tem D?
 
Inderdaad in het formulier "Proeven" gebruik ik maar 6 velden en die komen uit Grens. Ik krijg het voor elkaar de eerste rij weer te geven in het formulier en vervolgens moet ik dan de waarden van de proeven invoeren. Deze bestaan uit cijfers. Daarna hoort de volgende rij weergegeven te worden waarna die proeven ook weer ingevuld dienen te worden. Dat is het probleem, ik weet niet hoe ik dat moet aanpakken...
 
Het is allemaal gelukt met uw hulp!
Wat fijn dat u tijd voor me heeft vrij gemaakt om te helpen, tegek!
Nu kan ik weer verder, bedankt mcs51mc!
Groeten, Rolf
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan