Hallo zusammen,
ich habe für unser unternehmen eine Excel-Datei erstellt, welche zur erleichterten Bedienung mit Makros und Userform ausgestattet sind.
Im Anhang sende ich euch einmal die Datei.
Hiebei habe ich folgendes Problem.
Ich habe ein Macro Integriert, welches einen Zellwert (Ergebnis einer Fomrel) in die Zwischenlage Kopiert (Soll als Detainame gelten) - Range F1:I1.
Dieses funktioniert soweit auch tadellos.
Wenn ich nun aber die Userformen Anwähle (z.b. "Prüfprotokoll Drucken") und ausführe oder abbreche funktioniert im Anschluss das oben beschriebene Macro nicht mehr.
Es scheint zwar wie Ausgeführt, Jedoch ist die Zwischenlage leer oder im Word werden 2 ?? ausgegeben beim einfügen.
Ich bin nicht so fit mit den Userformen (alles bei Youtube angeschaut). Könnt Ihr mir helfen und evtl den Fehler finden?
Betsen Dank im Voraus
Hallöchen,
Ich habe Deine Frage mal ins Excel-Forum geschoben. Du hast sie in unserem Beispielbereich gepostet
Hallo,
vielen Dank für die Antwort,
Das habe ich auch schon gemerkt. Mal geht es und mal geht es nicht.
Es hat sich aber abgezeichnet das es immer wenn es nicht geht immer dann passiert wenn ich die Userform angewendet habe.
ABer dein Link mit den zwei Fragezeichen hat es gebracht. Jetzt geht es auch bei mir.
Was eine Scheiße...
Danke euch
Liebe Kollegen,
vorab nochmal Danke für die Hilfe. Jedoch ist die Lösung mit dem "Exporler schließen" irgendwie ..ich nenn es mal.. Suboptimal.
Ich habe bei weiteren Suchen folgenden Code gefunden.
Code:
Option Explicit
Private Declare Function OpenClipboard Lib "user32.dll" ( _
ByVal hWnd As Long) As Long
Private Declare Function CloseClipboard Lib "user32.dll" () As Long
Private Declare Function EmptyClipboard Lib "user32.dll" () As Long
Private Declare Function SetClipboardData Lib "user32.dll" ( _
ByVal wFormat As Long, _
ByVal hMem As Long) As Long
Private Declare Function GlobalAlloc Lib "kernel32.dll" ( _
ByVal wFlags As Long, _
ByVal dwBytes As Long) As Long
Private Declare Function GlobalLock Lib "kernel32.dll" ( _
ByVal hMem As Long) As Long
Private Declare Function GlobalUnlock Lib "kernel32.dll" ( _
ByVal hMem As Long) As Long
Private Declare Function GlobalFree Lib "kernel32.dll" ( _
ByVal hMem As Long) As Long
Private Declare Function lstrcpy Lib "kernel32.dll" ( _
ByVal lpStr1 As Any, _
ByVal lpStr2 As Any) As Long
Private Const CF_TEXT As Long = 1&
Private Const GMEM_MOVEABLE As Long = 2&
Sub copy_to_CB3()
Dim objClip As New DataObject
Dim strTmp As String
With Worksheets("POG_UI")
.Range("B100").value = .Range("B35").value
strTmp = .Cells(100, 2).value
End With
Call StringToClipboard(strTmp)
End Sub
Private Sub StringToClipboard(strText As String)
Dim lngIdentifier As Long, lngPointer As Long
lngIdentifier = GlobalAlloc(GMEM_MOVEABLE, Len(strText) + 1)
lngPointer = GlobalLock(lngIdentifier)
Call lstrcpy(ByVal lngPointer, strText)
Call GlobalUnlock(lngIdentifier)
Call OpenClipboard(0&)
Call EmptyClipboard
Call SetClipboardData(CF_TEXT, lngIdentifier)
Call CloseClipboard
Call GlobalFree(lngIdentifier)
End Sub
Mein Ihr dies könnte der Schlüssel zur Lösung sein?
Problem bei mir ist eben nur, das mein VAB die Meldung bringt, dass das Projekt auf die 64-Bit version aktualisiert werden muss.
Danke für die Antowrt.
Kann das jemand von euch? Bringt das überhaupt etwas?
Ich versteh da leider nur Bahnhof. Ich bin für jede Hilfe dankbar.
Moin!
Vorab sorry für die harschen Worte:
Du entwickelst Produktivdateien für euer Unternehmen und kannst mit dem Link nix anfangen?
Finde ich mutig!
(oder sollte ich besser unverantwortlich schreiben?)
Gruß Ralf
Hallo Makro,
wofür ist denn die Kopiererei des Dateinamens gut? Was willste denn damit machen? Man kann von Excel auch auf Word zugreifen.
gruß
rb