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

change by value met target.address werkt niet

Status
Niet open voor verdere reacties.

ericabt

Gebruiker
Lid geworden
9 nov 2008
Berichten
104
goedeavond.

Met onderstaande macro wil ik een macro opstarten op het moment dat de waarde van een bepaalde cel wijzigt, in dit geval B1. Alleen hij werkt niet

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$B$3" Then
Range("C3:G3") = Range("C3:G3").Value
End If
End Sub

Gezocht op internet en komt allemaal op bovenstaande neer. Welke punt of komma zet ik nu verkeerd??
 
Laatst bewerkt door een moderator:
B1 en B3 door elkaar gehaald?
Code:
Range("C3:G3") = Range("C3:G3").Value
is dezelfde range. De eerste zonder .Value!
 
Heb je die code wel achter een werkblad zitten en niet in een module of in ThisWorkbook?
 
even een nog simpeler voorbeeld gemaakt. Eerst werkte deze, ik veranderde wat en hij deed het niet meer. Ik zal wel te lang bezig zijn al ofzo, snap er niets van.

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "e7" Then
Range("e6") = Range("e7").Value
End If

achter de andere range .value zetten maakt niets uit.
 
Laatst bewerkt door een moderator:
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
 If Intersect(Target, Range("E7")) Is Nothing Then Exit Sub

 Range("e6") = Range("e7").Value
  
End Sub
 
@ koster 1984

Dit werkt wel, alleen zit er meer code in de change by value en de end sub slaat nu deze code over. Nu kan ik de code helemaal achteraan zetten, maar er zullen meerdere stukken code volgens dit principe inkomen. Vind dat end sub commando dan wat tricky..
 
de 'End Sub' beeindigd de sub.. dus als er code achter zit moet je die verwijderen (en tenzij die al aan het einde staat, hem aan het daadwerkelijke einde zetten). Hoe dan ook, in jouw voorbeeld stond 'End If' dat was ook nergens voor nodig.. daar zou ie ook op foutlopen.
 
Doe er eens een bestandje bij wat je wilt bereiken.
Je schrijft over een macro starten, maar je code laat dat nergens zien.
 
@ hsv

hier in een excel geplaatst.

Ik wil geen gigantische macro starten. Ik wil alleen dat als cel A2 verandert, dat cel A1 de gewijzigde waarde van A2 overneemt. Dat is alles wat ik voor elkaar wil krijgen. Ik heb te weinig nachtrust gehad de laatste dagen denk ik. De helderheid is zoek :-(

Bekijk bijlage Map1.xlsm
 
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
 If Target.Address = "$[COLOR=#ff0000]A[/COLOR]$2" Then Range("a1") = Range("a2").Value
End Sub
 
@HSV,

Een hoofdletter...Nu heb ik cellen een naam gegeven, maar dan werkt het weer niet. Het is me ondertussen wel gelukt met de intersectmethode, dus ga het gewoon zo doen.

If Not Application.Intersect(Target, Range("s003_Ly")) Is Nothing Then
Range("s003_Lz") = Range("s003_Ly").Value
Range("s003_Lyc") = Range("s003_Ly").Value
End If

If Not Application.Intersect(Target, Range("s003_Lz")) Is Nothing Then
Range("s003_Lzc") = Range("s003_Lz").Value
Range("s003_Lkip") = Range("s003_Lz").Value
End If

Iedereen bedankt.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan