Ga naar inhoud

Aanbevolen berichten

Probleem(pje) met Excel (office 2010)

Hoe kan ik een macro spontaan laten starten bij het toekennen van een vooraf bepaalde waarde in een cel van een tabel?

In bijgaande bijlage Map1.xlsx: Vooraf bepaalde waarde = '5'. Dus bij het toekennen van de waarde '5' in cel B4 zou de 'macro1' moeten starten.(eventueel bij het verlaten van de cel B4 met de Return of Tab toets

Dank voor uw hulp....

Map1.xlsx

Link naar reactie
Delen op andere sites


Zonder je code te kennen:

Alléén voor cel B5

Private Sub Worksheet_Change(ByVal Target As Range)
 If Intersect(Target, Range("B5")) Is Nothing Then Exit Sub
 If Target <> "5" Then Exit Sub
'Hier je uit te voeren macro
End Sub

Voor B1 tot B100

Private Sub Worksheet_Change(ByVal Target As Range)
 If Intersect(Target, Range("B1:B100")) Is Nothing Then Exit Sub
 If Target <> "5" Then Exit Sub
'hier je uit te voeren macro
End Sub

Groet bucky

Link naar reactie
Delen op andere sites

Dank ,bucky voor uw snelle reactie. Op het eerste zicht werkt deze oplossing niet, maar dit komt welicht omdat ik te weinig informatie gaf. Sorry daarvoor, maar ik vind niet meteen de juiste mogelijkheid om een excelcode hierbij eenvoudig in te voegen.(hoe doe je dat?, wellicht ontsnapt mij iets). Ik zal dan graag meer informatie doorsturen.

Link naar reactie
Delen op andere sites


Dank ,bucky voor uw snelle reactie. ...., maar ik vind niet meteen de juiste mogelijkheid om een excelcode hierbij eenvoudig in te voegen.

Hallo Ypsolana,

in het Excelvoorbeeld dat je aangehangen hebt aan je eerste bericht staat geen macro. bucky kon dan ook de code van jou macro niet toevoegen. Als je de code van jou macro invoegd (kopiëren en plakken) in de voorbeeldmacro van bucky (zonder jou Sub() en End Sub) op de plaats waar nu de code staat:

'Hier je uit te voeren macro

dan zou jou deel van de macro moeten starten als aan de voorwaarde "5" in cel ("B4") (of ("B1:B1000") naar gelang de keuze die je maakt in de macro) voldaan wordt. Anders wordt de macro verlaten, tot de volgende verandering in het werkblad plaats vindt.

Beerke10

aangepast door Beerke10
Link naar reactie
Delen op andere sites

Sorry; ik begin gans opnieuw,nu met een meer uitgewerkt voorbeeld. Een tabel (op werkblad1) in bijlage, en mijn macro hieronder. De bedoeling is om 2 lijnen (steeds dezelfde) automatisch toe te voegen telkens na een code 35. (zie voorbeeld tabelletje in bijlage). De macro op, zich werkt, maar dat spontaan starten na een code 35 lukt me niet.

Sub Macro2()

'2 lijnen automatisch invullen na code 35

ActiveCell.Offset(1, -2).Select

ActiveCell.FormulaR1C1 = Date

ActiveCell.Offset(0, 1).Select

ActiveCell.FormulaR1C1 = "Automatisch tekst 1" 'Vaste tekst 1

ActiveCell.Offset(0, 1).Select

ActiveCell.FormulaR1C1 = "20" ' vaste code

ActiveCell.Offset(1, -2).Select

ActiveCell.FormulaR1C1 = Date

ActiveCell.Offset(0, 1).Select

ActiveCell.FormulaR1C1 = "Automatisch tekst 2" 'Vaste tekst 2

ActiveCell.Offset(0, 1).Select

ActiveCell.FormulaR1C1 = "21" ' vaste code

ActiveCell.Offset(1, -2).Select

End Sub

Map1.xlsm

Link naar reactie
Delen op andere sites


Ik heb de code een beetje ingekort, plak deze achter je worksheet.

Private Sub Worksheet_Change(ByVal Target As Range)
 On Error Resume Next
 If Intersect(Target, Range("C1:C100")) Is Nothing Then Exit Sub
 If Target <> "35" Then Exit Sub
'2 lijnen automatisch invullen na code 35
   ActiveCell.Offset(, -2).Value = Date
   ActiveCell.Offset(, -1).Value = "Automatische tekst 1"
   ActiveCell.Value = 20
   ActiveCell.Offset(1, -2).Value = Date
   ActiveCell.Offset(1, -1).Value = "Automatische tekst 2"
   ActiveCell.Offset(1, 0).Value = 21
   ActiveCell.Offset(1, -2).Select
End Sub

Groet bucky

Link naar reactie
Delen op andere sites

Gast
Dit topic is nu gesloten voor nieuwe reacties.
 Delen

×
×
  • Nieuwe aanmaken...