Formule voor overzetten gegevens zonder witte cellen te hebben.

Anoniem
2021-10-13T13:36:21+00:00

Ik ben op zoek naar een oplossing.

Ik wil in excel gegevens overzetten van het ene werkblad naar het andere met een voorwaarde in.

Bv. Indien in werkblad A en de kolom G een naam is ingevuld, dan moet hij die gegevens op werkblad B overnemen van kolom A t.e.m. H maar....

Hij mag geen witte cellen/rijen hebben.

Probeer iets beter te omschrijven adhv onderstaand voorbeeld.

De bedoeling is dat hij in een werkblad B dus alles overneemt van kolom A,B,C,D,E en G indien de naam in kolom H vermeld is.

Ik heb werkbladen aangemaakt per naam en de bedoeling is dus dat als hij bv de naam Rob heeft in kolom H, hij alles van die lijn overneemt in een ander werkblad.

Ik heb al een poging ondernomen, maar dan zit ik met lege rijen (zoals hieronder te zien is).

Maar... De eerste witte rijen zouden dus moeten ingevuld worden door de eerste "ritten" die door Rob zijn uitgevoerd. Dus de gegevens in rij 13 zouden in rij 7 moeten komen. Ook die 0 bij omschrijving en vaste prijs zouden niet zichtbaar moeten zijn, aangezien dit in het werkblad A ook blanco zijn.

Hoop dat mijn uitleg beetje duidelijk is :-)

Microsoft 365 en Office | Excel | Anders | Anders

Vergrendelde vraag. Deze vraag is gemigreerd vanuit de Microsoft Ondersteuning-community. U kunt met een stem aangeven of de inhoud nuttig is, maar u kunt geen opmerkingen of antwoorden toevoegen of de vraag volgen.

0 opmerkingen Geen opmerkingen

24 antwoorden

Sorteren op: Meest nuttig
  1. Anoniem
    2021-11-05T11:06:55+00:00

    Kurt,

    Ik heb de link vervangen, hij zou het nu weer moeten doen.

    Jan

    Was dit antwoord nuttig?

    0 opmerkingen Geen opmerkingen
  2. Anoniem
    2021-11-05T10:35:12+00:00

    Jan,

    Als ik op de link klik krijg ik te zien dat het item niet beschikbaar is.

    Kan je nogmaals delen aub?

    Mvg

    Kurt

    Was dit antwoord nuttig?

    0 opmerkingen Geen opmerkingen
  3. Anoniem
    2021-11-01T21:46:39+00:00

    Kurt,

    De oplossing van Bocculus werkt zoals de bedoeling is hoewel die formule het werkblad ‘Gereden ritten’ als basis neemt terwijl ik dacht dat je het werkblad ‘Onderaannemers’ daarvoor wilde gebruiken.

    Maar aangezien ik meende te moeten opmerken dat Power Query wellicht een oplossing kan bieden heb ik daartoe een poging gewaagd.

    Het is een combinatie tussen VBA en Power Query geworden.

    Wijzigingen in het werkblad ‘Gereden ritten’ moeten zichtbaar worden in werkblad ‘Onderaannemers’.

    Als deze wijzigingen nog steeds de bestaande onderaannemers betreft hoef je alleen op de knop “Alles vernieuwen’’ (onder Gegevens) te klikken om de werkbladen van de onderaannemers bij te werken.

    Als de wijzigingen ook nieuwe onderaannemers betreft, dan zal de VBA code DataPerOnderaannemer moeten worden uitgevoerd o.a. om het werkblad met de nieuwe naam aan te maken.

    Hier de link naar het bestand: https://1drv.ms/x/s!AkL7c_m1bVCKhF9KW1xKzOpQBGVT?e=7JOl0s

    Misschien kun je er iets mee.

    (de validatielijsten heb ik even gebaseerd op de tabel op het (nieuwe) werkblad Lijsten; leek me handiger bij te houden dan de ingevoerde lijst bij gegevensvalidatie) 

    Jan

    Was dit antwoord nuttig?

    0 opmerkingen Geen opmerkingen
  4. Anoniem
    2021-11-01T11:53:00+00:00

    Beste Kurt,

    Probeer deze formule en kijk naar het verschil met jouw formule:

    =ALS.FOUT(INDEX('Gereden ritten'!A$3:A$1220;KLEINSTE(ALS('Gereden ritten'!$H$3:$H$1220=$I$1;RIJ($A$1:$A$1217));RIJ($A1)));"")

    Kijk ook naar de dollartekens van 'Gereden ritten'!A$3:A$1220.

    Trek de formule door naar rechts en beneden.

    Maar....

    Bij een dergelijk groot bestand is het beter het volgende te doen:

    Zet in I1 deze formule

    =DEEL(CEL("bestandsnaam";A1);VIND.SPEC("]";CEL("bestandsnaam";A1))+1;25)

    In B1: =AANTAL.ALS('Gereden ritten'!$H$3:$H$1220;$I$1)

    Zet nu in A6:

    =ALS(RIJ($A1)>$B$1;"";INDEX('Gereden ritten'!A$3:A$1220;KLEINSTE(ALS('Gereden ritten'!$H$3:$H$1220=$I$1;RIJ($A$1:$A$1217));RIJ($A1))))

    en trek door naar rechts en beneden.

    Deze formule stopt, als het rijnummer te groot wordt, ALS.FOUT rekent door tot een fout wordt gevonden (tijdwinst).

    Aanpassing:

    Selecteer nu A1:I6 (als je de kolommen A t/m I gebruikt, anders aanpassen) en kopieer. Selecteer de tabbladen van de andere onderaannemers en kopieer hier naartoe. Trek de formule door naar beneden.

    Er is nogal wat variatie in de ritaantallen. Je kunt er voor kiezen de rijen per tabblad naar beneden te kopiëren.

    Groet,

    Bocculus

    Was dit antwoord nuttig?

    0 opmerkingen Geen opmerkingen
  5. Anoniem
    2021-11-01T10:13:13+00:00

    Jan,

    Heb hier es zitten zoeken en kijken.

    Hierbij de link naar het bestand, hopelijk kan je het bekijken. https://1drv.ms/x/s!AmPHkJe11pF_e8JXw7dFiQ4ywJw?e=aVvfs2

    Groeten

    Kurt

    Was dit antwoord nuttig?

    0 opmerkingen Geen opmerkingen