Toon posts:

[Excel] Automatisch doelzoeken bij aanpassing cel

Pagina: 1
Acties:
  • 1.800 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Een collega hier heeft een klein probleem. De situatie is alsvolgt:

Er zijn 3 cellen. A, B en C. C heeft de waarde (=A+B). Nu moet C altijd op 100 vast staan. Dus als A veranderd, dan moet B automatisch zo aangepast worden dat ze samen 100 vormen. En als B veranderd, moet A vanzelfsprekend ook automatisch aangepast worden.

Nu kan dit handmatig door te doelzoeken, en C dan in te stellen op 100 doormiddel van het aanpassen van A of B. Nu is dit voor dit werk "te veel moeite", en vroeg ik mij af of dit ook automatisch kon? Liever zonder macro's, aangezien het ook op gebruikersniveau moet kunnen worden toegepast.

[ Voor 25% gewijzigd door Verwijderd op 22-09-2005 11:36 ]


  • onkl
  • Registratie: Oktober 2002
  • Laatst online: 20:18
Je kan deze code plakken.
A=A1, B=A2, C=A3
Als je in C een andere waarde intypet zal het na de eerstvolgende verandering worden meegenomen.
(Plakken in codepane van relevante sheet)
Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
12
13
Dim self As Boolean
Private Sub Worksheet_Change(ByVal Target As Range)
If self = True Then Exit Sub
If Target.Address = "$A$1" Then
    self = True
    Target.Offset(1, 0).Value = Target.Offset(2, 0).Value - Target.Value
    self = False
ElseIf Target.Address = "$A$2" Then
    self = True
    Target.Offset(-1, 0).Value = Target.Offset(1, 0).Value - Target.Value
    self = False
End If
End Sub

Verwijderd

Topicstarter
Ik heb er even op gezocht en gegoogled, maar waar kan ik deze codepane precies vinden? Is dat hetzelfde als de VBA editor?

En volgensmij is dit ook niet echt wat ik bedoel. Ik wil eigenlijk een onchange op A1 zetten, die A2 aanpast zodat ze samen op 100 uitkomen. En andersom natuurlijk.

[ Voor 41% gewijzigd door Verwijderd op 22-09-2005 12:09 ]


  • onkl
  • Registratie: Oktober 2002
  • Laatst online: 20:18
1:
Type in excel Alt-F11 (VBA editor)
In VBA editor: Window linksboven, heet "Project-VBA Project" oid. Klik op goede sheet in goede werkboek.
Plak.
2: Dat doet'ie ook. Let op de "Offset". Target is de cel die veranderd. Als dat A1 is (bovenste if), dan veranderd Target.Offset(1,0) ofwel, de cel er direct onder. Ofwel A2. In A3 moet je nog wel even 100 typen voor je begint.

[ Voor 13% gewijzigd door onkl op 22-09-2005 12:17 ]