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

Overhalen gegevens (met variabele rij hoogte)

Status
Niet open voor verdere reacties.

groenenbb

Gebruiker
Lid geworden
8 jun 2007
Berichten
70
Voor een bestand met meerdere tabbladen ben ik op zoek naar een mogelijkheid voor het overhalen van gegevens uit een ander tabblad. Onderstaand een korte omschrijving van wat ik precies zoek.

Tabblad A bestaat uit een kolom met een code, omschrijving, eenheid, hoeveelheid.
Tabblad B bestaat uit een soort prijslijst met daarin een code (ongeveer 400 hoofdstukken met onderbouwing), hoofdstuk omschrijving, eenheid en hoeveelheid. Elk hoofdstuk bevat ook een x aantal regels (aantal is variabel).

De bedoeling is dat door het invullen van de code in tabblad A het betreffende hoofdstuk weergegeven wordt met de eenheid en hoeveelheid. Tevens moeten alle onderliggende regels onder dat hoofdstuk ingevoegd worden.

Bekijk bijlage Helpmij voorbeeld.xlsx
 
Bekijk bijlage Helpmij voorbeeld MB.xlsx

Zie bijlage.

Om het geheel te laten werken is het noodzakelijk om in blad Detailblad de codes op elke regel te herhalen.

Als je in kolom A van blad Uitwerking een geldige code invult, dan krijg je automatisch de omschrijvingen en eenheden erbij.
Als je dan in kolom D het aantal invult - op dezelfde regel als de code in kolom A - dan krijg je de aantallen onderdelen erbij.

Ik heb 2 namen gedefinieerd (tab Formules - Namen beheren). Hierbij is van belang dat eerst regel 2 op blad Uitwerking is geselecteerd (mocht je iets willen wijzigen).

Naam ICA geeft het regelnummer op blad Uitwerking waar de betreffende code en aantal te vinden zijn.
Code:
=GROOTSTE(ALS(Uitwerking!$A$1:$A1<>"";RIJ(Uitwerking!$1:1));1)

Naam IDB geeft het regelnummer op blad Detailblad waar de benodigde gegevens te vinden zijn.
Code:
=KLEINSTE(ALS(Detailblad!$A$1:$A$1000=INDEX(Uitwerking!$A$1:$A1;ICA);RIJ(INDIRECT("1:1000")));1+RIJ()-ICA)

Formules op blad Uitwerking regel 2 en gekopieerd t/m regel 100:
Code:
B2: =ALS.FOUT(ALS($A2="";INDEX(Detailblad!B:B;IDB);VERT.ZOEKEN($A2;Detailblad!$A:B;KOLOM();0));"")
C2 is B2 naar rechts gekopieerd.
D2: =ALS.FOUT(INDEX($D$1:$D1;ICA)*INDEX(Detailblad!D:D;IDB);"")

In blad Uitwerking is met voorwaardelijke opmaak ingesteld dat regels met inhoud in kolom A een vet lettertype krijgen.

Aandachtspunten / bijzonderheden:

1. De formules op blad Uitwerking lopen door tot en met regel 100. Desgewenst kun je deze verder naar beneden doortrekken.

2. De naam IDB werkt bij maximaal 1000 regels op blad Detailblad. Desgewenst aanpassen aan het maximum aantal dat je ooit verwacht.

3. Het is van belang dat de Omschrijving en Eenheid op beide bladen in dezelfde kolommen (B en C) staan.

4. Door het invullen van een aantal in kolom D overschrijf je de formule, hetgeen ook de bedoeling is.
Als je per ongeluk een aantal hebt ingevuld en je wilt dit verwijderen, kopieer dan de formule weer terug (met Ctrl+z of door de formule vanaf een andere regel te kopiëren).

5. Op beide bladen heb ik ingesteld dat de kopregel blijft staan bij bladeren (via tab Beeld - Deelvensters blokkeren).

6. Als je blad Uitwerking wilt printen, dan moet je misschien het afdrukgebied instellen (of bijvoorbeeld alleen pagina 1 afdrukken), omdat de formules doorlopen t/m regel 100).
 
Laatst bewerkt:
Bedankt voor je inbreng MarcelBerg, met de oplossing en wat aanpassingen heb je me enorm in de goede richting geduwd.
 
Graag gedaan.
Ik weet niet wat precies de bedoeling is van de formules in de rode cellen, maar in ieder geval kan het stukje
VERT.ZOEKEN($A4;Prijzenboek!$A:H;KOLOM();0)
in L4 niet werken, want KOLOM() levert 11 op en dat is meer dan 8 (H).

Overeenkomstig in L9:
VERT.ZOEKEN(A9;Prijzenboek!A6:H12;9;ONWAAR)
9 is meer dan 8.
 
Graag gedaan.
Ik weet niet wat precies de bedoeling is van de formules in de rode cellen, maar in ieder geval kan het stukje
VERT.ZOEKEN($A4;Prijzenboek!$A:H;KOLOM();0)
in L4 niet werken, want KOLOM() levert 11 op en dat is meer dan 8 (H).

Overeenkomstig in L9:
VERT.ZOEKEN(A9;Prijzenboek!A6:H12;9;ONWAAR)
9 is meer dan 8.

Heb het onderliggende boek herschreven en vanaf dat moment staan ze er wel bij, moet nu nog een macro zien te maken die automatisch een aantal zaken verbergt. Ik heb reeds een macro die wel het een en ander verbergt op basis van een bepaalde waarde in een kolom. Mogelijk kan ik toepassen, anders zal ik de vraag in een aparte melding doorgeven.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan