Voor een door een user te starten functie (druk op een knop in een werkbalk) moet ik in excel tijdens runtime de event functie Workbook_SheetChange kunnen toevoegen voor dat betreffende werkblad. Als de user niet op de knop drukt moet hij uitblijven. Hem van te voren in programmeren helpt niet want de gebruiker moet in elk nieuw willekeurig geopende excel sheet door een druk op de knop de functie kunnen creeren/inschakkelen.
Ik heb dit geprobeert:
Function WriteBack() As Integer
‘ schrijf celmutatie terug naar de server
End Function
Sub ZetWriteBackAan()
I = InputBox("Zet write-back aan?", "YES", "WriteBack")
If I = "Yes" Then
On Workbook_SheetChange = WriteBack()
ThisWorkbook.Sheets("Blad1").SheetChange = WriteBack()
End If
End Sub
Deze code staat dus in een aparte PRGCODE.xls bestand dat gekoppeld is aan een knop in een commandbar. Als de user excel opent met een nieuw leeg .xls bestand en op deze knop in de commandbar drukt wordt het apart PRGCODE.xls bestand geopend naast de lege spreadsheet. De code in PRGCODE.xls moet er voor zorgen dat voor de huidige geselecteerde sheet in de lege .xls bestand aan het event SheetChange een functie/sub wordt gekoppeld. Mijn twee boven geprobeerde regels,
On Workbook_SheetChange = WriteBack()
ThisWorkbook.Sheets("Blad1").SheetChange = WriteBack()
geven een foutmelding en doen het niet. Op mdsn en google is ook niet te vinden.
Ik heb dit geprobeert:
Function WriteBack() As Integer
‘ schrijf celmutatie terug naar de server
End Function
Sub ZetWriteBackAan()
I = InputBox("Zet write-back aan?", "YES", "WriteBack")
If I = "Yes" Then
On Workbook_SheetChange = WriteBack()
ThisWorkbook.Sheets("Blad1").SheetChange = WriteBack()
End If
End Sub
Deze code staat dus in een aparte PRGCODE.xls bestand dat gekoppeld is aan een knop in een commandbar. Als de user excel opent met een nieuw leeg .xls bestand en op deze knop in de commandbar drukt wordt het apart PRGCODE.xls bestand geopend naast de lege spreadsheet. De code in PRGCODE.xls moet er voor zorgen dat voor de huidige geselecteerde sheet in de lege .xls bestand aan het event SheetChange een functie/sub wordt gekoppeld. Mijn twee boven geprobeerde regels,
On Workbook_SheetChange = WriteBack()
ThisWorkbook.Sheets("Blad1").SheetChange = WriteBack()
geven een foutmelding en doen het niet. Op mdsn en google is ook niet te vinden.