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

Macro automatisch runnen wanneer cel verander door verwijzing

Status
Niet open voor verdere reacties.

bakkerbg

Gebruiker
Lid geworden
16 mrt 2012
Berichten
14
Beste mensen,

Ik zit al de hele dag met een 2 problemen waar ik maar niet uit kom.

1 .Op dit moment heb ik achter het werkblad deze code zitten:


Code:
Private Sub Worksheet_Change(ByVal Target As Range)
  If Not Intersect(Target, Range("D4:D100")) Is Nothing Then
  Call berekening
  Call Berekeningen2
  End If
End If
End Sub

--> Deze code werkt perfect als ik een cel verander In (D4:D100). Echter als deze celwaarde verandert omdat ik op een ander werkblad bezig ben (doorverwijzing), dan werkt de code niet. Hoe kan ik toch deze macro's wel oproepen?

2. Hoe kan ik meerdere kolommen selecteren? Dus de macro laten oproepen als Bijvoorbeeld een cel verandert in F7? Ik wil dus ook range ("F4:F100") eraan toevoegen.

Kijkend naar jullie reactie!!
 
Laatst bewerkt door een moderator:
Zet je code even in codetags want nu worden er smileys geplaatst waar ze niet horen.
 
Bakkerbg,

De VBA code zit in de worksheet deze kan dus alleen voor dit worksheet werken.
Wil je hem ook laten werken voor het totale bestand dan moet je hem plaatsen in de module van het workbook met Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range).
2. Je kan F4:F100 laten toevoegen door gewoon "If Not Intersect(Target, Range("D4:F100")) Is Nothing Then " te gebruiken. Sluit de range niet aan dan kun je altijd een tweede intersect na je eerste toevoegen.

Veel Succes.
 
Code:


Code:
Private Sub Workbook_SheetChange(ByVal Sheet As Object, ByVal Target As Range)

  If Not Intersect(Target, blad4.Range("D4:D100")) Is Nothing Then
  Call berekening
  Call Berekeningen2
  End If



End Sub

Dit heb ik nu gedaan en het werkt. Maar als ik nu de range verander van ("D4D100") naar ("D4F100") dan loopt excel vast en sluit hij af op het moment dat ik dan een cel wijzig.

Kan hij dit dan niet aan? Of wat is dan het probleem?

Kan ik dit verhelpen door de code te wijzigen?


Mijn dank is groot!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan