Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Anpassung Code auf 64 Bit PC

Anpassung Code auf 64 Bit PC
22.01.2019 12:01:22
biwi
Hallo zusammen,
ich habe folgendes Problem: In meinem Excel-Tool habe ich ein User-Form welches weitere Vertragsdetails von einem ausgewählten Vertrag dynamisch einblendet.
Über einen Button in der UserForm wird ein screenshot der Userform erstellt und dann einer Email angehängt. Soweit funktioniert das alles auch ganz gut. Jetzt habe ich aber einen Kollegen mit einem 64 bit Computer bei dem der Code nicht funktioniert und wollte den Code dahingehend anpassen dass er auf beiden Systemen läuft. Dazu habe ich online folgende Lösung gefunden:

#If Win64 Then
Declare PtrSafe Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal  _
dwFlags As LongLong, ByVal dwExtraInfo As LongPtr)
#Else
Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags  _
As Long, ByVal dwExtraInfo As Long)
#End If
Private Const VK_SNAPSHOT = &H2C
Sub CommandButton1_Click()
keybd_event VK_SNAPSHOT, 1, 0, 0
Call Email
End Sub
Wenn ich jetzt aber einen Vertrag auswähle also eine Zelle im Excelblatt anwähle wird mir die erste Zeile (also die Kopfzeile) meines Codes für die Befüllung der Userform gelb markiert.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Application.EnableEvents = False
Application.ScreenUpdating = False
If Intersect(Target, Range("A8:L20000")) Is Nothing Then Exit Sub
Range("B3").Value = Cells(Target.Row, 1).Value
'Vertragsnummer & Kunde
UserForm1.Label1.Caption = "  " & Worksheets("Vertragsdetails").Range("B9")
'Vertragsdetails
UserForm1.Label2.Caption = "  " & Worksheets("Vertragsdetails").Range("D9")
UserForm1.Label5.Caption = "  " & Worksheets("Vertragsdetails").Range("D12")
UserForm1.Label9.Caption = "  " & Worksheets("Vertragsdetails").Range("D13")
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub

Und es erscheint die Fehlermeldung Fehler beim Kompilieren:
Konstanten, Zeichenfolgen fester Länge ... sind als Public-Elemente von Objektmodulen nicht zugelassen
Außerdem wird mir die Zeile "Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)" markiert.
Kann mir jemand helfen?
Vielen lieben Dank im Voraus
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Anpassung Code auf 64 Bit PC
22.01.2019 13:00:57
Nepumuk
Hallo,
so:
Private Declare …
Gruß
Nepumuk
AW: Anpassung Code auf 64 Bit PC
22.01.2019 13:28:30
biwi
Ach Gott so einfach,perfekt!
Vielen lieben Dank
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige