12. marts 2010 - 14:46Der er
12 kommentarer og 1 løsning
OnKey Enter
Jeg har foelgende opsaetning:
èt regneark med foelgende VBA kode i "this workbook":
Private Sub Workbook_SheetActivate(ByVal Sh As Object) Application.OnKey "{ENTER}", "MinMakro" Application.OnKey "{RETURN}", "MinMakro" End Sub
i samme regneark men i et modul har jeg:
Private Sub MinMakro() diverse kode End sub
Dette setup fungerer fint. Jeg kan arbejde i regnearket, og kun naar jeg trykker ENTER udfoeres "MinMakro".
Problemet er, at hvis jeg befinder mig i et andet regneark, og her ogsaa trykker ENTER vil jeg enten faa en fejl hvis det foerste regneark fortsat er aabent, eller excel forsoeger at aabne det foerste regneark, hvis dette ikke er aabent.
Hvordan sikrer jeg mig at OnKey funktionen kun fungerer i det tilsigtede regneark????
det kan godt vaere noget ovre i retning af, at det kun skal fungere naar et bestemt sheet er aktivt men som udgangspunkt, er mit problem at ENTER i andre ark skaber problemer.
Jeg er desvaerre noedt til at have et "lige paa soemmet" svar, da jeg nu har rodet en del med det, og er ved at blive skoer... :-)
Private Sub MinMakro() If ActiveWorkbook.Name <> ThisWorkbook.Name Then Application.OnKey "{ENTER}" Application.OnKey "{RETURN}" Exit Sub End If {diverse kode} End Sub
Da dette afmelder OnKey for ENTER og RETURN, skal disse gendannes for ark ét. Det kan fx gøres ved at lægge OnKey i Workbook_Activate i stedet:
Private Sub Workbook_Activate() Application.OnKey "{ENTER}", "MinMakro" Application.OnKey "{RETURN}", "MinMakro" End Sub
Måske kan det gøres mere elegant, men det her gør det vist:
Module1:
Private Sub MinMakro() If ActiveWorkbook.Name <> ThisWorkbook.Name Or ActiveSheet.Name <> "Ark1" Then Application.OnKey "{ENTER}" Application.OnKey "{RETURN}" Exit Sub End If
{diverse kode}
End Sub
----
ThisWorkbook:
Private Sub Workbook_Activate() Application.OnKey "{ENTER}", "MinMakro" Application.OnKey "{RETURN}", "MinMakro" End Sub
Private Sub Workbook_SheetActivate(ByVal Sh As Object) Application.OnKey "{ENTER}", "MinMakro" Application.OnKey "{RETURN}", "MinMakro" End Sub
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.