Mein Problem ist, nachdem ich eine Tabelle aus Microsoft Word in Excel importiert, indem Sie ein OLEObject erstellen, wird es nicht kopieren und fügen Sie die Tabelle in Excel. Es fügt fortlaufend das, was zuletzt in meiner Zwischenablage kopiert wurde, in die erste Zelle ein. Derzeit fragt mein Code den Benutzer nach dem Dateinamen, öffnet diese Datei als OLEObject in der aktiven Excel-Tabelle und fügt dann die falsche Information in Zelle A1 ein. Es wird nicht kopiert und eingefügt, was sich in dem Word OLEObject befindet.Kopieren und Einfügen von Informationen aus Microsoft Word OLEObject in Excel-Datei über VBA
Sub Macro1()
Dim FName As String, FD As FileDialog
Dim ExR As Range
Set FD = Application.FileDialog(msoFileDialogOpen)
FD.Show
If FD.SelectedItems.Count <> 0 Then
FName = FD.SelectedItems(1)
Else
Exit Sub
End If
ActiveSheet.OLEObjects.Add(fileName:=FName, Link:=False, DisplayAsIcon:=False).Select
Selection.Verb Verb:=xlPrimary
Range("A1").Select
ActiveSheet.Paste
End Sub
Vielen Dank!
Können Sie das Word-Dokument irgendwo hochladen oder Schritte hinzufügen, um es mit dem Inhalt neu zu erstellen, den Sie kopieren möchten? –
Wie könnte es in der Zwischenablage sein, wenn Sie nie eine '.copy' verwenden? Was in der Welt ist 'selection.verb' ??? sollte es nicht 'selection.copy' sein? Warum verwenden Sie ein '.select', wenn Ihr Objekt eine' .copy' ist ??? –
Wenn Sie einen Makrorecorder für den gesamten Vorgang des Einfügens eines Objekts in Excel verwenden, ist die Ausgabe des VBA-Codes im Wesentlichen die letzten 4 Zeilen des Codes beginnend bei "ActiveSheet ..." Der Makrorecorder funktioniert, aber der "Dateiname" -Pfad ist statisch, da darin nur der Dateiname der Datei geöffnet wird, die Sie beim Aufzeichnen des Makros geöffnet haben. – Davey