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

Cellen uit simulatie automatisch kopiëren in nieuw tabblad

Status
Niet open voor verdere reacties.

the goose

Gebruiker
Lid geworden
15 feb 2007
Berichten
86
Hey allen,

Ik heb onlangs een simulatie gemaakt voor de aankomst van patiënten in een ziekenhuis. Elke keer ik de simulatie run, wordt er een samenvatting gemaakt (bv. aantal aankomsten, stock-outs, gemiddelde voorraad, ...). Deze waarden van de samenvatting staan in het bereik G34 - G50. Bestand kan je vinden op http://www.mijnbestand.nl/Bestand-66OKICIWPICW.xlsm.

Nu is het de bedoeling dat ik deze simulatie voor een 20-tal materialen loop, zo'n 100 tot 200 keer per materiaal. Deze samenvatting 2000+ keer manueel kopiëren in een nieuw tabblad is enorm veel werk.

Kan iemand me bijgevolg vertellen hoe de waarden van bepaalde cellen (cel G34 tem. cel G50 in het tabblad "Simulatie") automatisch gekopieerd kunnen worden in een nieuw bestaand tabblad (met naam "Resultaten") telkens ik de simulatie opnieuw uitvoer (dus wanneer f9 gedrukt wordt)?

Voor de eerste run van de simulatie zou cel G34 (tabblad "Simulatie") zou dan in A1 (tabblad "Resultaten") moeten komen, G35 in B1, G36 in C1 enz. Voor de tweede run G34 in A2, G35 in B2, G36 in C2 etc. Telkens de aankomsten voor een nieuw materiaal gesimuleerd worden, kan ik wel een nieuw tabblad aanmaken met de naam Resultaten en het oude hernoemen naar bv. "Resultaten 'materiaalnaam'". Dus dat de simulatie uitgevoerd moet worden voor verschillende materialen, dient denk ik niet verwerkt te worden in de macro... Er moet enkel rekening gehouden worden met de naam van de bestemming (tabblad "Resultaten"), die statisch is.

Alvast heel erg bedankt!

Gr,
The goose

PS: Ik heb zelf geen ervaring met macro's schrijven of invoeren...
 
Laatst bewerkt:
Via ALT-F11 kom je in de VBE waar je macro's kunt plaatsen.
Drukt vervolgens op CTRL-R en je ziet links het projectoverzicht.
Dubbelklik op ThisWorkbook en plaats daar onderstaande code.

Code:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.OnKey "{F9}", ""
End Sub

Private Sub Workbook_Open()
Application.OnKey "{F9}", "Registratie"
End Sub

Ga in het menu van de VBE (dus bovenaan) naar Invoegen en vervolgens op Module.
Plaats daar onderstaande code:
Code:
Sub Registratie()
Range("G34:G50").Copy
Worksheets("Resultaten").Range("A" & Rows.Count).End(xlUp).Offset(1, 0).PasteSpecial , , , True
Application.CutCopyMode = False
End Sub

Sluit het bestand op, sluit het bestand af om het daarna opnieuw te openen.

Bij het openen zal iedere keer dat op F9 wordt gedrukt, de waardes van G34 t/m G50 in het werkblad Registratie worden gezet.
Bij het afsluiten van het bestand wordt F9 weer als een gewone functieknop beschouwd.

Met vriendelijke groet,


Roncancio
 
Hey Roncancio,

heel erg bedankt voor je antwoord. De code werkt echter nog niet helemaal :(

hij zou de waarden moeten kopiëren uit de samenvatting, maar doordat deze getallen berekend worden door een formule geeft hij het volgende resultaat:

#VERW! 0 0 0 0 0 0 0 0 #VERW! 0 0 #DEEL/0! 0,00 …

Een nieuwe run wordt precies ook niet gekopieerd in de volgende rij? Ik denk dat hij gewoon de huidige rij overschrijft.

Alvast bedankt!

Gr,
The goose
 
Probeer het zo eens.
Code:
Sub Registratie()
  [COLOR="red"]Application.ScreenUpdating = False[/COLOR]   
 Range("[COLOR="red"]G35[/COLOR]:G50").Copy
   Worksheets("Resultaten").Range("A" & Rows.Count).End(xlUp).Offset(1, 0).PasteSpecial [COLOR="red"]xlPasteValues,[/COLOR] , , True
  Application.CutCopyMode = False
 [COLOR="red"]Application.ScreenUpdating = True[/COLOR]
End Sub
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan