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

transporteren gegevens bij opslaan

Status
Niet open voor verdere reacties.

albboon

Gebruiker
Lid geworden
31 jul 2005
Berichten
17
Hallo

Het volgende probleempje kom ik niet uit .

Ik heb een bewerking in een 12 tal cellen staan.
bv G26 t/m G38
dit is een bewerking van F26 t/mF38 minus E26 t/m F38
deze bewerking moet bij opslaan via de onderstaande macro
automatische verplaatst worden naar de
positie F26 t/m F38 op het zelfde tabblad
Bij opslaan wordt in mijn geval de bestaands naam aangepast.
Ik hoop dat ik een beetje goed heb geformuleerd.
het liefst heb ik het in de onderstaande macro
want die werkt perfect.

Sub Opslaan()
'Dim MyDate, MyFile, MyPath
MyPath = ActiveWorkbook.Path
MyFile = MyPath + "\Weekstaat 2005 " & Sheets("weekstaat1").Range("I4").Value & ".xls"
ActiveWorkbook.SaveAs Filename:=MyFile, FileFormat:=xlNormal, _
Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _
CreateBackup:=False
End Sub

m.vr.gr Alb
 
Als het altijd om dezelfde range gaat die naar een andere (vaste) range gekopieerd moet worden, kun je dit heel makkelijk opnemen met de macro recorder
 
Ik snap de vraag niet helemaal. Je hebt dingen staan in G, dat is F-E. Dit wil je verplaatsen naar F. Moet de nieuwe waarde van F, de oude waarde van G worden? (soort aflopend bedrag ofzo)

Sub test()
Range("G2").Select
Selection.Copy
Range("F2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
opslaan
End Sub

Sub Opslaan()
'Dim MyDate, MyFile, MyPath
MyPath = ActiveWorkbook.Path
MyFile = MyPath + "\Weekstaat 2005 " & Sheets("weekstaat1").Range("I4").Value & ".xls"
ActiveWorkbook.SaveAs Filename:=MyFile, FileFormat:=xlNormal, _
Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _
CreateBackup:=False
End Sub


Zoiets?
 
Snabbi:
Het klopt bijna.
Het is inderdaad een bewerking waarbij uren worden afgetrokken en soms ook bijgeteld.
de cellen van sheet verlof G26 t\m 38 moeten inderdaad bij opslag getransporteerd worden naar F26 t\m F38.
Deze zijn dan gerelateerd aan de cel I4 van de sheet
weekstaat1
Het probleem is nu nog dat als ik de macro per ongeluk twee maal uitvoer en er is niets veranderd in cel G26 t\m G38 toch de inhoud onterecht ververst word.
Ik hoop dat je hier ook een oplossing voor hebt want ik lig er even uit.
m.vr.gr Alb


Sub verplaatsen()
MyFile = MyPath + Sheets("verlofstaat").Range("G26:G38").Select
Selection.Copy
Range("F26:F38").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
'Opslaan
'Dim MyDate, MyFile, MyPath
MyPath = ActiveWorkbook.Path
MyFile = MyPath + "\Weekstaat 2005 " & Sheets("weekstaat1").Range("I4").Value & ".xls"
ActiveWorkbook.SaveAs Filename:=MyFile, FileFormat:=xlNormal, _
Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _
CreateBackup:=False
End Sub
 
Wat je kan doen is het inbouwen van een extra check. Bijvoorbeeld door het wegschrijven van de tijd dat je de macro uitvoert. Ligt het opnieuw uitvoeren van de macro binnen een bepaalde tijdsgrens, dan mag er niets gebeuren.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan