Microsoft Excel

Excel und VBA: Formeln, Programmierung, Lösungen

Die Excel/VBA-Beispiele

Thema

Makroaufruf mit F6

Gruppe

Open

Problem

In der Workbook_Open-Prozedur soll die Funktionstaste 6 für einen Makroaufruf festgelegt werden.

Lösung
Geben Sie den Ereigniscode in die nachfolgend genannten Module ein.

ClassModule: DieseArbeitsmappe

Private Sub Workbook_BeforeClose(Cancel As Boolean)
   Application.OnKey "{F6}"
End Sub

Private Sub Workbook_Open()
   Application.OnKey "{F6}", "CopyAbove"
End Sub
StandardModule: Modul1

Sub CopyAbove()
   Dim wks As Worksheet
   Dim rng As Range
   On Error Resume Next
   Set wks = ActiveSheet
   If Err > 0 Or wks Is Nothing Then Exit Sub
   Application.ScreenUpdating = False
   If Selection.Row = 1 Then Exit Sub
   If Selection.Rows.Count > 1 Then Exit Sub
   For Each rng In Selection.Cells
      rng.Offset(-1, 0).Copy rng
   Next rng
   Application.CutCopyMode = False
   Application.ScreenUpdating = True
End Sub