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

Automatisch kopiëren

Status
Niet open voor verdere reacties.

vis ta

Terugkerende gebruiker
Lid geworden
31 mei 2007
Berichten
3.253
Ik stelde een vraag over automatisch kopiëren in excel in dit topic:
http://www.helpmij.nl/forum/showthread.php?p=2400879#post2400879

Om een voor mij onduidelijke reden heeft iemand dit topic gesloten.

Moest het voor anderen niet duidelijk zijn: ik weet nu hoe ik met behulp van vba-code een soort 'record' of 'hoogste waarde' kan bijhouden door deze te laten kopiëren naar een andere cel.

Maar ik heb geen idee hoe ik dit moet doen als de waarde hoger moet zijn in een andere cel. Ik kopieer de vba-code maar voor mij is dit niet duidelijk. Moet ik een kleinigheidje veranderen en lijkt het daarom op dezelfde vraag?
Dat is dan goed voor een expert op het gebied van vba, maar ik zie als leek niet in wat.

Dus stel ik m'n vraag nog maar eens:

Stel ik heb in cel C18 een getal en in C10 een getal dan wil ik dat het getal in C10 wordt vervangen door dat in C18 van zodra het getal in C4 groter is geworden dan het getal in C18. Zolang niet aan deze voorwaarde is voldaan blijft het getal in C10 het 'vorige' getal.

Zou iemand me kunnen vertellen hoe ik dat moet klaarspelen?
Alvast heel hartelijk bedankt!:thumb:
 
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target = Range("C4") And Range("C4") > Range("C18") Then
Range("C10") = Range("C18")
Else
End If
End Sub

Mvg

Rudi
 
Ik denk dat dit beter gaat werken.

Code:
If [B]Target.Address = Range("C4").Address[/B] And Range("C4") > Range("C18") Then
 
Wim, bij mij werkt mijn manier even goed hoor

Mvg

Rudi
 
Het hangt ervan af wanneer juist het vervangen van getal moet gebeuren.
 
Het vervangen moet gebeuren van zodra C4 groter blijkt te zijn dan C18
Of bedoelde je iets anders?
Welke kan ik nu best gebruiken?

Ik heb in dat worksheet al een code staan. Mag ik deze code er gewoon onder plakken? Of werkt dat zo niet?

alvast bedankt
 
Moet het vervangen gebeuren vanaf dat je iets in C4 typt? Of vanaf eender welke cel?
 
Het getal in C4 telt automatisch op (mbv macro's). Dus niet wanneer ik handmatig iets verander maar automatisch van zodra C4 groter wordt dan C18.
 
Als de verandering in C4 automatisch gebeurt kan je het Address-statement niet gebruiken aangezien dit enkel reageert op rechtstreekse veranderingen in de cel.
Mijn voorstel daarentegen reageert op elke verandering; ook automatische veranderingen

Mvg

Rudi
 
Mijn voorstel daarentegen reageert op elke verandering; ook automatische veranderingen

Inderdaad, maar de vraag is of dit nodig is.

Ik laat VBA-code liever niet uitvoeren ELKE keer er iets verandert in de sheet, ook al duurt het dan op zich niet lang.

Wigi
 
In dat opzicht heb je zeker meer dan gelijk, maar aangezien TS stelt dat de wijziging van betreffende cel automatisch gebeurt zie ik weinig andere mogelijkheid.
Of sla ik hier de bal mis ?

Mvg

Rudi
 
Als het een beter alternatief is moet het kopiëren niet meteen gebeuren en mag het ook gebeuren telkens het werkblad wordt geopend, is dat mogelijk/beter?
 
Dat is inderdaad mogelijk. Plaats volgende code in ThisWorkbook waarbij je Blad1 vervangt door de naam van je blad. Telkenmale je het bestand opent zal de controle uitgevoerd worden

Code:
Private Sub Workbook_Open()
    If Range("Blad1!C4") > Range("Blad1!C18") Then
    Range("Blad1!C10") = Range("Blad1!C18")
    End If
End Sub

Mvg

Rudi
 
Ik heb in this workbook al een code staan. Mag ik deze er gewoon onder plaatsen?
 
Ja, als het niet gaat over een ThisWorkbook_Open code dat er al staat.

Neen, als het wel gaat over een ThisWorkbook_Open code dat er al staat. Dan moet die nieuwe code erbij in gezet worden in de bestaande ThisWorkbook_Open.
 
Gebeurd en ik geloof dat het naar behoren werkt,
Bedankt!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan