nach Ausführen des folgenden Codes wird stets der Ziffernblock deaktiviert. Ich muss ihn also immer mit der Num-Taste wieder zum Leben erwecken.
Warum ist das so bzw. wie kann ich das verhindern?
Der Code fügt eigentlich nur den Inhalt der Zwischenablage in ein Blatt ein und befreit es dann von Zeichenobjekten .
Danke und
VG, Boris
Private Declare Function OpenClipboard& Lib "user32" (ByVal hwnd As Long)
Private Declare Function EmptyClipboard Lib "user32" () As Long
Private Declare Function CloseClipboard& Lib "user32" ()
Public Sub ClearClipboard()
OpenClipboard 0&
EmptyClipboard
CloseClipboard
End Sub
Sub einfuegen()
Dim myAnswer As Variant
On Error GoTo ERR_HANDLER
Application.ScreenUpdating = False
With Tabelle1 'Hier wird der Inhalt der Zwischenablage eingefügt
.Activate
.DrawingObjects.Delete 'alle mit eingefügten Zeichenobjekte löschen
.Cells.Clear
.Cells.UnMerge
.Range("A1").Select
Application.SendKeys "^v" 'Einfügen mit Strg + v
DoEvents
.Range("A1").Select
.DrawingObjects.Delete 'übrig geblieben Zeichenobjekte löschen - warum auch immer...
End With
Tabelle4.Activate
Range("Kunde_manuell").ClearContents
Application.ScreenUpdating = True
myAnswer = MsgBox("Erledigt. Soll der Inhalt der Zwischenablage jetzt gelöscht werden ( _
empfohlen)?", vbYesNo, "Melde Vollzug...")
If myAnswer = vbYes Then
Call ClearClipboard
MsgBox "Zwischenablage ist nun wieder leer", vbInformation, "Hinweis"
End If
Exit Sub
ERR_HANDLER:
MsgBox "Es gab irgendeinen Fehler. Falls Daten nicht angezeigt werden, bitte erneut starten.", _
_
_
vbInformation, "Fehler " & Err.Number
End Sub