Ich habe Avizo.xlt mit einem Arbeitsblatt und einem Code, mit dem dieses WS in ein bereits geöffnetes Dokument eingefügt werden soll. Dies ist ein SLK-Bericht, der von unserem alten ERP-System erstellt wurde, und schließe dieses Dokument.
Alles hat gut funktioniert, bevor 2007 über die Desktops der Benutzer verbreitet wurde. Mein Code:
Public Sub format_avizo3()
On Error Resume Next
Dim Wb As Workbook
For Each Wb In Workbooks
Select Case Wb.Worksheets(1).Cells(1, 1)
Case "F004CP000V001", "F004CP000V003", "F004CP000V004":
ThisWorkbook.Worksheets(1).Range("A1:I22").Copy
'some extra code
End Select
Next Wb
ThisWorkbook.Close False
End Sub
Jetzt sieht Excel mit neuem Dokument noch nicht geöffnetes Excel. Wie kann ich es zwingen, sich selbst zu finden?
Problemumgehung: Lassen Sie Excel vor dem Start des Prozesses geöffnet, damit es funktioniert.
microsoft-excel
microsoft-excel-2007
vba
Danatela
quelle
quelle
Antworten:
Leider ist dies eine Systembeschränkung und es gibt keine schnelle Lösung.
Sie können entweder alle Arbeitsmappen in einer Excel-Instanz öffnen oder eine Lösung aus verwenden
ForEachLoop
. Es funktioniert, obwohl es viel Code beinhaltet. Bitte folgen Sie dem Link unten für weitere Details:https://stackoverflow.com/questions/2971473/can-vba-reach-across-instances-of-excel
quelle