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

Rijen verplaatsen met een bepaalde voorwaarde

Status
Niet open voor verdere reacties.

Zamoyski

Gebruiker
Lid geworden
24 mrt 2014
Berichten
5
Hallo,

Ik heb een excelblad en als in kolom K bij een willekeurige rij (zeg 15) een voorwaarde "Afgehaald" komt (dit is een resultaat uit een formule) wil ik graag dat de hele rij 15 automatisch verplaatst wordt naar een ander tabblad (Afgehaald).

Nu heb ik wel wat op het internet rondgekeken, maar bijna alle VBA-informatie die er stond was niet van toepassing op Excel 2010. Is het mogelijk om in een .xlsx bestand ook een macro te zetten die dit regelt? Eigenlijk alles wat ik tot nu toe geprobeerd heeft geeft, als ik het probeer op te slaan, als foutmelding

"De volgende zaken kunnen niet worden opgeslagen in werkmappen zonder macro's:
VB-Project"

Alvast bedankt.
 
Welkom op helpmij.nl!

De oplossing van dat probleem:
sla het bestand op als .xlsm bestand (met de m van macro)
 
Danku! :)

Ik heb gekeken, en hij lijkt nu wel gewoon op te slaan inderdaad, maar heb je eventueel ook een voorbeeld van een VBA wat ik in kan geven? Want degenen die ik zag lijken niet op formuleresultaten te reageren en komen ook uit excel 97.
 
Laat eens zien wat je hebt...
 
Heb het bestand wel wat ingekort omdat het normaliter een stuk groter is, maar hierin staat wel de informatie die er voor moet zorgen dat de regels gewijzigd moeten worden. Neem aan dat ik de VBA zelf eventueel aan kan passen (?).

Bekijk bijlage Afhaalbestand.xlsx
 
Ja wieter, dit is ongeveer wat ik zoek ja. Ik had er alleen nog wel een paar vragen over. Ik zie dat je de code in een lijst gezet hebt. Kan dit ook zonder? Want normaal gesproken is dit een resultaat uit een formule. Zo nee, zou kopiëren/plakken als waarde, zonder het in een lijst te zetten ook werken?

De Call overzetten, ik zie er niet in staan dat jij het naar blad 2 zet. Bedenkt excel dit of is dit ook nog ergens heen te sturen?
En hoe weet de VB dat de Target.Column kolom B moet zijn?
 
Ik heb de overzet-module bij de Change-event gezet, dan is het wat overzichtelijker.
Kijk bij de groene verduidelijkingen in de code.

Iets uitleggen is niet mijn sterkste kant, maar ik zal proberen.
De code start bij een wijziging in kolom B.
Die wijziging gebeurt door een validatielijstje, want het is de actieve regel die overgezet wordt.
Bij een gewone wijziging moet je op [ENTER] drukken, en wordt de actieve regel één regel lager, en dan wordt die regel overgezet en dat is niet de bedoeling.

Als ik je goed begrijp is de waarde in kolom B, het resultaat van een formule (dus in kolom B staat een formule).
Dan nog moet er ergens een wijziging zijn die het resultaat in kolom B veroorzaakt.
Misschien toch maar het juiste bestand posten, zodat we uw eigenlijke wens kennen.

Bekijk bijlage Afhaalbestand.xlsm
 
Andere code, het validatielijstje bij "Code" is niet meer nodig.
Je kan nu de code gewoon wijzigen.

Ongevraagde aanvulling:
Waarschijnlijk zal je bij "Afhaling" de datum + tijd vermeld willen zien.
Is toegevoegd in de code.

Bekijk bijlage Afhaalbestand1.xlsm
 
wieter,

Met je eerste bestand kan ik wel wat. Ik kan het originele bestand niet opsturen omdat er meer informatie in staat dan ik daadwerkelijk in de lucht wil hebben :).
Normaliter staat er in kolom B (is in het originele bestand kolom I, maar van kolom 2, kolom 9 maken lukt mij ook nog wel :)) een combinatie tussen een Als-formule en een Zoeken-formule die als resultaat 1,2,3,4,5 of 6 geeft (als er niets gevonden kan worden is het resultaat 0).
Echter, de formule die in kolom C staat is wel gewoon dezelfde formule als die in het originele bestand staat (vandaar mijn vraag ook of de VBA eventueel daarop gericht kan worden, want dat maakt het omzetten een stuk makkelijker).

Ik heb inderdaad ook gezien dat op [ENTER] drukken de actieve regel een regel omlaag zet, maar dit is vrij makkelijk te omzeilen met [TAB].
De waarde in kolom B is inderdaad het resultaat van een formule en er staat dus een formule. Dit triggert kolom C. Als je wil kan ik wel een voorbeeldbestandje maken waar een formule in kolom B staat, maar als er vanuit kolom C gewerkt kan worden zou dat een stuk makkelijker zijn.

Verder lijkt de macro wat moeite te hebben met meerdere regels tegelijk verplaatsen, terwijl de formule dit eigenlijk altijd wel doet. Er worden eigenlijk altijd meerdere pakketten op eenzelfde dag afgehaald. Is er een manier om dit te omzeilen?

Alvast bedankt zover voor het meedenken!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan