Ophalen gegevens uit Excelbestand met specifieke criteria

Pagina: 1
Acties:

Onderwerpen

Vraag


Acties:
  • 0 Henk 'm!

  • TorqueR11
  • Registratie: Mei 2014
  • Laatst online: 28-03 14:40
Hallo,

Ik zit met een voor mij moeilijke probleem. Ik heb enigszins wat verstand van formules e.d. (lang leve google), maar wat ik nu graag wil gaat men pet te boven. Hopelijk kunnen jullie mij helpen.
Ik wil graag uit meerdere tabbladen tekst kopieeren en importeren in een excelbestand. Maar gematcht met een criterium. Ik zal wat voorbeelden geven van wat ik wil.

Uitleg rapportage ZZPPO
Dit is de lijst waar ik de gegevens in wil hebben. Ik wil het onderstaande uit de PO rapportage krijgen, maar dan per Code/installatie (bijv. 502-PU-042).
- Onderhoud uitgevoerd/werk gereed(j/n)
- Oplossingstekst/opmerkingen

Deze ZZPPO lijst wordt uit het ERP systeem gegenereerd per week voor de desbetreffende te onderhouden Codes/installaties om de lijst in te vullen. De Codes/installaties zijn onder elkaar opgesomd in een specifiek, niet te veranderen format om in te lezen in ons ERP systeem.

Uitleg rapportage PO
Dit is een rapportage die op een tabblad staat waar ik de gegevens uit wil halen. Deze wordt ingevuld in Excel door onze monteur op locatie.
- In cel D tot G staat aangegeven of het werk is uitgevoerd. Dit moet in een J resulteren in het voorbeeld ZZPPO achter Onderhoud uitgevoerd
- In de rijen onder Kolom H tot K staan alle opmerkingen die achter elkaar opgesomd moeten worden, gescheiden met een # in het ZZPPO bestand onder oplossingstekst, met het te controleren onderdeel uit cel C uit de zelfde rij.

Het halen van gegevens van een Code en plaatsen in het ZZPPO kan ook met formules gedaan worden voor één tabblad en één oplossingstekst met een specifieke Code.

Maar nu komt het moeilijke.
Ik wil graag een macro hebben, die zelf de Codes uit het ZZPPO bestand matcht en daarna de bovenstaande gegevens invult in het ZZPPO bestand per Code.
Iedere week is er een nieuw PO rapportage en ZZPPO rapportage bestand voor de betreffende Codes en gebouw. De Macro dient dus gekopieerd en geplakt te kunnen worden in het nieuwe ZZPPO rapportage bestand. Daarna zou, zonder iets te hoeven aanpassen, met het kiezen van de juiste PO rapportage alles ingevuld moeten worden.

Aan jullie dus de vraag, Is dit mogelijk? en zo ja, waar moet ik beginnen, of kan iemand mij helpen?
Alvast bedankt!

Met vriendelijke groet,

Rick Willems

Links:
- Rapportage ZZPPO https://www.dropbox.com/s...6%20tbv%20macro.xlsx?dl=0
- Rapportage PO https://www.dropbox.com/s...O%20tbv%20macro.xlsx?dl=0
- het Excel bestand met macro's waar ik van dacht dat ze al een soort gelijke link hebben, maar dan in één excel bestand tussen tabbladen. Dit is tevens het Excel bestand om de ZZPPO lijst in te lezen in ons ERP systeem. https://www.dropbox.com/s...inlezen%20MACRO.xlsm?dl=0

Alle reacties


Acties:
  • 0 Henk 'm!

  • breew
  • Registratie: April 2014
  • Laatst online: 21:49
Hoi Rick, welkom.

Je stelt een hele hoop vragen in één mail, waarvan ik er een aantal niet kan beantwoorden, omdat ik niet weet hoe je data eruit ziet (ik open op mijn werk geen excel-bestanden uit onbekende bron).

Kort antwoord: Ja, het kan.

Uitgebreider antwoord:
Uit eigen ervaring weet ik dat het met VBA vrij eenvoudig is om een macro te bouwen die:
- door alle werkbladen loopt (for each worksheet in workbook ... next worksheet)
- checkt op bepaalde condities (if ... then ...)
- data kopieert naar een verzamelwerkblad/-werkboek. (rng.copy destination := ...)
Dit is echter alleen eenvoudig als je al redelijk wat ervaring hebt met VBA, of er behoorlijk wat tijd in wilt steken om dat te leren. Een kant-en-klare macro voor jouw specifieke situatie ga je niet vinden, maar zul je moeten bouwen.

Tip: Begin met stapsgewijs opschrijven hoe je een (domme) computer uit zou leggen hoe hij het vraagstuk op moet lossen. Dat kan zo simpel zijn als:
stap 1: definieer het werkboek met de PO-rapportages (wbPO)
stap 2: definieer het werkboek met de ZZPPO rapportage (wbZZPPO)
stap 3: loop door alle werkbladen (ws) in wbPO
stap 4: ...
...

Vervolgens kun je stap-voor-stap gaan automatiseren in vba.

Acties:
  • 0 Henk 'm!

  • F_J_K
  • Registratie: Juni 2001
  • Niet online

F_J_K

Moderator CSA/PB

Front verplichte underscores

Welkom! Uitgebreide topicstart. Maar: ik denk dat de meeste mensen hier uit beveiligingsoogpunt niet zomaar Office files van "willekeurige vreemden" zullen willen downloaden en openen. Helemaal niet als er macro's in zitten. Ik ook niet. Verwacht daar dus niet veel van.

Kort hier de structuur tonen, icm de relevante delen (!) van je huidige code werkt een stuk beter. Kan je dat alsnog doen? Je kunt structuur het makkelijkste tonen met [pre] ... [/pre] tags, daartussen kan je met spaties kolommen 'simuleren':
Kolom A    kolom B    kolom C
foo         12           J
bar         53           N



Met wat ik lees lijkt de juiste cellen aflopen in enkele FOR loopjes, al bijna genoeg: zie boven. Alle werkbladen, alle regels langslopen, en dan de inhoud van cellen H t/m K samenvoegen (als er een J is gevonden op die regel?). Maar ik denk misschien te simpel omdat ik details mis. Wat zijn de relevante delen van je huidige code?

De code kopiëren naar het bronbestand hoeft overigens niet: je kunt met de code in 1 sjabloon, andere bestanden uitlezen/bewerken zoals hierboven ook wordt getoond in stap1/2.

'Multiple exclamation marks,' he went on, shaking his head, 'are a sure sign of a diseased mind' (Terry Pratchett, Eric)