Beste,
Ik werk al een tijdje met een zelfgemaakt xlsm-bestand met heel wat code.
Eén van de procedures selecteert op een specifiek werkblad een bereik en zet die in het geheugen (Copy).
De gebruiker kan dan een ander xlsx-bestand (zonder VBA) activeren, een cel selecteren en met Ctrl+V de selectie plakken.
Dat heeft altijd goed gewerkt.
Nu heb ik in dat xlsm-bestand -om een ander probleem op te lossen bij het wisselen tussen bestanden- een extra sub moeten schrijven die wordt uitgevoerd bij (ThisWorkbook_Deactivate).
Dit is de code:
Nu is dat ander probleem inderdaad opgelost, maar blijkt bij uitvoeren van deze code dat meteen ook het klembord wordt gewist, waardoor er niets meer te plakken valt.
Ik heb getest: als ik bovenstaande code tijdelijk verwijder is plakken terug mogelijk.
Hoe kan ik dit oplossen zonder die code te moeten weggooien want ze is nodig, zoals jullie zien, om wat sneltoetsen terug goed te zetten en om EnableEvents en CellDragAndDrop terug juist te zetten bij het schakelen naar een ander geopend bestand.
Ik werk al een tijdje met een zelfgemaakt xlsm-bestand met heel wat code.
Eén van de procedures selecteert op een specifiek werkblad een bereik en zet die in het geheugen (Copy).
De gebruiker kan dan een ander xlsx-bestand (zonder VBA) activeren, een cel selecteren en met Ctrl+V de selectie plakken.
Dat heeft altijd goed gewerkt.
Nu heb ik in dat xlsm-bestand -om een ander probleem op te lossen bij het wisselen tussen bestanden- een extra sub moeten schrijven die wordt uitgevoerd bij (ThisWorkbook_Deactivate).
Dit is de code:
Code:
Private Sub Workbook_Deactivate()
On Error GoTo Err_0063
'drag en drop inschakelen
Application.CellDragAndDrop = True
'events inschakelen
Application.EnableEvents = True
'shortcuts terugzetten
Application.OnKey "+^A"
Application.OnKey "+^B"
Application.OnKey "+^C"
Application.OnKey "+^D"
Application.OnKey "+^H"
Exit_0063:
Exit Sub
Err_0063:
MsgBox "Foutcode 0063/" & Right(vs, Len(vs) - 1), vbCritical, "Basissjabloon v" & vs
Application.EnableEvents = True
Resume Exit_0063
End Sub
Nu is dat ander probleem inderdaad opgelost, maar blijkt bij uitvoeren van deze code dat meteen ook het klembord wordt gewist, waardoor er niets meer te plakken valt.
Ik heb getest: als ik bovenstaande code tijdelijk verwijder is plakken terug mogelijk.
Hoe kan ik dit oplossen zonder die code te moeten weggooien want ze is nodig, zoals jullie zien, om wat sneltoetsen terug goed te zetten en om EnableEvents en CellDragAndDrop terug juist te zetten bij het schakelen naar een ander geopend bestand.