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

Formule automatisch overnemen bij invoegen extra rijen

Status
Niet open voor verdere reacties.
Maar al bij al... nog een probleem dat wel in dit topic hoort.
Kan er iemand mij zeggen waarom de zoekformule kapot gaat wanneer ik data versleep?
En wat hiervoor een mogelijke oplossing kan zijn?

Mvg,
Wocky.
 
In dit specifieke geval is de voornaamste reden dat er binnen de formules gebruik wordt gemaakt van gegevens in andere rijen.
Als je gegevens gaat slepen, dan ontstaan als het ware nieuwe cellen (op de plaats waar de gesleepte gegevens stonden) en verdwijnen oude cellen (waar je de gesleepte cellen overheen plaatst). In formules krijg je dan #VERW! fouten in formules die gebruik maakten van de overschreven gegevens, terwijl formules die verwijzen naar de versleepte gegevens, nog steeds naar die gegevens verwijzen (dus die verwijzingen zijn meeverhuisd).
Ik zou zeggen: speel er eens wat mee in een testbestandje, dan zie je vanzelf wat er gebeurt.

Over een mogelijke oplossing kan ik zelf wel wat filosoferen; wellicht zijn er ook andere meningen.
Traditioneel werd altijd strikt onderscheid gemaakt tussen Input-Proces-Output, met informatiesystemen bestaande uit een Database (Management Systeem) in de kern en daaromheen functionaliteit om enerzijds gegevens vast te leggen en anderzijds informatie samen te stellen op basis van die gegevens.

In Excel zie je vaak dat die dingen door elkaar heen gaan lopen.
In mijn optiek is het meest dramatische voorbeeld een fantastisch mooi ontworpen layout in Excel met bijvoorbeeld samengevoegde cellen en elke formule apart geformuleerd in plaats van doorgetrokken, omdat dat gezien de layout niet mogelijk was.

Als algemene oplossing is mijn stelling dat je zoveel mogelijk moet proberen de basisgegevens los te houden van de bewerkingen.
In jouw geval kun je bijvoorbeeld overwegen om het "versleepbare gedeelte" in een apart werkblad op te nemen waarin je naar hartenlust kunt slepen.
En dan met een knop kopiëren naar het werkblad met formules en voorwaardelijke opmaak.

Een andere complicerende factor in jouw werkblad, is dat niet alle gegevens op elke regel herhaald worden.
Je kunt beter werken met een datastructuur met matrices waarin elke cel gevuld is (met lege cellen als uitzondering).
Daar kan Excel veel beter mee overweg.

Qua formules is het ook handig om ernaar te streven om formules op de eerste dataregel (meestal regel 2, onder de kop in regel 1), zodanig te construeren dat je deze kunt doorkopiëren naar beneden (en zodoende eventuele #VERW! fouten weer kunt corrigeren).
 
Zoals al vaker gezegd: 'structuring precedes coding': een goed ontwerp voorkomt dat je met formules/VBA ontwerpfouten moet corriger.
Ees met Marcel Beug: maak een onderscheid tussen
- datainvoer (userform)
- dataopslag (listobject in kaal werkblad)
- databewerking (berekeningen etc.)
- datapresentatie (filters, tabellen met voorwaardelijke opmaak, draaitabellen, grafieken, etc.)
 
Mja ik begrijp jullie advies...
Maar het is nu eenmaal ook de bedoeling om het gebruiksvriendelijk te houden...
En als de mogelijkheid bestaat om het toch gebruiksvriendelijk te houden, dan vind ik het waard om naar een gepaste oplossing te zoeken.
Als de mogelijkheid niet bestaat, dan kan ik uiteraard enkel maar aanvaarden.

Even praktisch.
Ik heb al ontdekt dat de formule in stand blijft wanneer je die mee selecteert en versleept.
Betreft de voorwaardelijke opmaak zal ik vermoedelijk een kolom moeten maken die onaangeroerd blijft.
Hoewel de voorwaardelijke opmaak ook gebaseerd zal zijn op een formule die naar cellen verwijst die verplaatst zullen worden.. dus vermoedelijk gaat die formule ook kapot gaan.
Ik heb al geprobeerd de formule op te bouwen met een soort indirecte verwijzing naar de cellen in kwestie.. met functie "ADRES" of "KOLOM" of "RIJ", maar de formule blijkt hiermee niet om te kunnen gaan. Ik hoop dat ik iets verkeerd doe.

Groeten Wocky.
 
Laatst bewerkt:
Ok.. belangrijke ontdekking gedaan.

Als je de volledige reeks rijen selecteerd, inclusief de formules en inclusief de betreffende cellen waarnaar verwezen wordt, en je "knipt" en je "voegt in", dan blijft alles intact!

Joepie! Mijn probleem is opgelost.

Een handige functionaliteit van een tabel is zelfs dat als je de rijen volledig selecteert (over het volledig aantal kolommen), dan doet hij de "knip+voeg in bewerking" zelfs automatisch.

Yes! Mijn avond is goed.

In bijlage een voorbeeldje om mee te spelen.

Veel succes aan toekomstige oplossingzoekers die dit kunnen gebruiken!
En bedankt aan de hulpverleners voor de nieuwe inzichten!

Groeten Wocky.
 

Bijlagen

Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan