ich habe ein Makro, das Dateien von einer anderen ECXEL Datei in ein spezielles Arbeitsblatt kopieren soll und dann nach noch einige Berechnungen anstellen soll.
Das Makro funktioniert auch in der aktuellen Version, wenn ich jedoch versuche das ganze mit einem Button zu verbinden, so klappt es auf einmal nicht mehr. Habe ich hier irgendetwas zu beachten? Ich denke mal dass es an dem PRIVATE liegt, doch wie gesagt wenn ich es über Tools -- Makro ansteuere funktioniert es. (ohne Private)
Hier kommt gleich "Bitte die Exceldatei mit den Quelldaten öffnen!" obwohl die Datei geöffnet ist.
([größer] steht für das größer Zeichen)
Private Sub CommandButton3_Click()
Dim wkb As Workbook
Dim wkb2 As Workbook
Dim wkb3 As Workbook
Dim wks As Worksheet
Dim wks2 As Worksheet
MyPath = ThisWorkbook.Path
myFile = ThisWorkbook.Name
sourceFile = Sheets("Root").Range("C21").Value
On Error Resume Next
'Referenzdatei wird aktiviert, bei nicht geöffnet kommt eine Fehlermeldung
Set wkb = Workbooks(sourceFile)
If Err [größer] o Or wkb Is Nothing Then
Beep
MsgBox _
prompt:="Bitte die Exceldatei mit den Quelldaten öffnen!"
Exit Sub
End If
Set wks = wkb.Worksheets(1)
If Err [größer] o Or wks Is Nothing Then
Beep
MsgBox _
prompt:="Die Testdatei enthält das Zielblatt nicht!"
Exit Sub
End If
...
-----------------------
im zweiten teil kopiere ich dann ein komplettes Blatt in das andere. Im moment sind das noch überschaubare 100 zeilen, doch ich denke irgendwann werden hier über 3000 Zeilen mit 8 Spalten stehen, ab wann fängt EXCEL an zu streiken, tut es das überhaupt und gibt es eine einfachere Möglichkeit als dann z.b. immer 50 zeilen zu kopieren?
'Springt zurück ins neue ExcelSheet
Set wkb3 = Workbooks(myFile)
wkb3.Sheets("Division CS TEST").Select
' Sheets("Sheet2").Select
Cells.Select
Selection.ClearContents
Windows(sourceFile).Activate
Cells.Select
Selection.Copy
Windows(myFile).Activate
ActiveSheet.Paste
.
.
Ich hoffe es ist nicht zu dreist hier das halbe Makro überprüfen zu lassen ;-)
Danke
Markus