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

Via macro gegevens in een excel bestand exporteren

Status
Niet open voor verdere reacties.

Yesper

Gebruiker
Lid geworden
9 apr 2021
Berichten
141
Hallo,

Graag zou ik een macro in een excel werkbestand maken die de gegevens is een hoofdbestand exporteert.

Het probleem voor mij is dat als ik deze macro draai, de gegevens niet op de juiste plaats in het hoofd bestand komen te staan.

Voor deze test heb ik enkel nog in het werkbestand 2 tapbladen aangemaakt, om het van Blad1 naar blad2 te zetten, maar dat heb ik gedaan om te testen.

Bijgevoegd heb ik het bestand, en zou graag de macro willen hebben dat blad1 de ingevulde aantallen van die week, via de macro naar blad2 geschreven worden in de juiste week.

Uiteindelijk wil ik dan een macro hebben die vanuit het werkbestand naam H:\dagplanning\dagplanningDC1\Dagplanning productie boven 9330.xlsm, het tapblad van deze dagplanning heet containers, in dit tabblad komt maar een week in te staan waar elke week alleen het weeknummer aangepast wordt.
De gegevens van dit werkbestand dienen elke dag via macro weggeschreven moeten worden naar een hoofdbestand, en moet in het hoofdbestand in de juiste week kollom tercht komen. Het hoofdbestand zou dan worden S:/Containertelling\Containertellingv2.xlsx.

Wie zou mij kunnen helpen hiermee ben een beginner :)
 

Bijlagen

Hier een simpel voorbeeld hoe je de data overzet van tabblad 1 naar tabblad 2.
Druk op de knop
 

Bijlagen

Hallo

Dank jullie voor de macro,

Ben er al heel blij mee, maar een van de dingen die een probleem bij beide is.

1 Dat de cellen van de weken samengevoegde cellen zijn, en die mag ik in het S:/Containertelling\Containertellingv2.xlsx. bestand niet aanpassen.
2 Ook de datum cellen kan en mag ik niet overzetten in S:/Containertelling\Containertellingv2.xlsx. bestand.

Is dit op een of andere manier ook in de macro te verwerken.
 
Hallo Pagadder

Denk dat deze wel gaat werken, zal hem volgende week instaleren op mijn werkaccount.

Ben je hierbij zeer dankbaar in deze, zal je informeren als het naar behoren draait.:thumb:

ik zoek ook nog een formule als je die weet nl .

In een ander bestand heb ik drie kollommen die ingevuld kunnen worden met een getal , maar kan ook dat 1 van de kollommen leeg blijft.
Enkel wil ik weten in de uiteindelijke kollom Trailer aantal als een van de kollommen (cn/Ep/Wp)ingevuld is dat hij deze niet optelt maar alleen dan registreert als 1

Zie voorbeeld onder

Trailer aantal Cn Ep Wp
Moet 1 zijn 50 0 5
Moet 0 zijn
 
Yesper, dit is een heel andere vraag, het is beter om daarvoor een nieuwe topic te starten.
 
In A1. Als de getallen in B1 tm D1 staan

Code:
=--(SOM(B1:D1)>0)
 
@ JVeer,
Fout signaal, nieuwe vraag, nieuwe topic, standaard voor alle fora.
 
Een simpele vervolgvraag als deze moet kunnen vind je niet?
 
Hallo Pagadder

Heb alles in een map op mijn werk account gezet, en gekoppeld aan de locaties waar de gegevens naar verwerkt dienen te worden zoals je in onderstaand ziet.
De dagplanning productie, heb ik in een ander bestand genaamd (Overdrachts productie boven 9330.xlsm) waar nog 3 andere tabbladen zitten waar gegevens in komen te staan. Nu heb ik een 4e tabblad aangemaakt met de naam containers en daar jou gemaakte gegevens en macro ingezet.

Maar dan krijg ik op deze regel een fout melding con.[week_lst].Copy con1.Cells(4, fCol)

Onderstaand is dan het totaal van de macro en de aanpassingen die ik er in verwerkt heb.

Sub rowcopy()

Application.ScreenUpdating = False

Set wb1 = Workbooks.Open(Filename:="S:\Containertelling\Containertellingv2.xlsx") '<----- Hier aanpassen

Set wb2 = ThisWorkbook

Set con = wb2.Sheets("Containers")

Set con1 = wb1.Sheets("Blad1")

stFnd = con.[B2].Value

With con1

Set rFndCell = .Range("A:NH").Find(stFnd, LookIn:=xlValues)

If Not rFndCell Is Nothing Then

fCol = rFndCell.Column

con.[week_lst].Copy con1.Cells(4, fCol)

Else

MsgBox "Weeknummer " & con.[B2] & " is niet gevonden", vbExclamation, "Weeknummer ontbreekt."

End If

End With

wb1.Close SaveChanges:=True

Application.ScreenUpdating = True

End Sub


Mischien nog een idee waar door dit komt, heb al van alles geprobeerd maar krijg het niet opgelost.
 
Plaats code tussen codetags

het zal waarschijnlijk hier fout gaan
Code:
Set con1 = wb1.Sheets("Blad1")

Je zal Blad1 aan moeten passen in containers
 
Hoi Venna

Die snap ik niet want in dit bestand zit geen tabblad met naam containers, alleen Blad1/Blad2. enz
 
Plaats dan representatieve voorbeeldbestanden. Of geef aan wat de foutmelding is.
Plaats code tussen codetags
blijkbaar gemist.
Les nummer één in vba, gebruik nooit geen samengevoegde cellen.

Hoewel nooit geen een beetje verwarrend is, want eigenlijk staat er; gebruik altijd samengevoegde cellen.:rolleyes: Wat zeer zeker niet de bedoeling is.
 
Hoi Venna

Hierbij plaats ik de officiele bestanden.

Overdrachts productie boven 9330 is het bestand op tabblad containers waar de macro staat.

En dit moet in het bestand per week Containertellingv2.xlsx komen te staan.

Weet niet waar het fout gaat?
 

Bijlagen

Kijk eens in mijn voorbeeld Tab Formules -> Namen beheren, dat moet je ook aanmaken in je eigen bestand. week_lst zijn de cellen die worden overgezet.
 
Laatst bewerkt:
Gestructureerd gegevens verzamelen werkt over het algemeen wat makkelijker dan dit soort bestanden. Een dag is afhankelijk van een datum, een week ook. Alles onder elkaar zetten en dan gebruik maken van een filter/draaitabel maakt het leven een stuk eenvoudiger.

Vinkvakken kan je ook beter niet gebruiken. Kan je niet op filteren, willen nog wel eens verspringen. Dus misschien eerst eens nadenken over een eenvoudiger opzet? Een macrootje maken kan altijd nog.
 
Hallo Pagadder/Venna

Ik begrijp hem nu wat het euvel is was.

Ja ik zou de opzet ook anders gemaakt hebben, maar helaas heb ik dit niet bedacht, dus ik moet het daar mee doen:d.

Mag ik jullie hartelijk danken voor de inzet en tijd die jullie er ingestoken hebben.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan