Hallo zusammen.
nachdem ich nun einen ganzen Tag im Netz recherchiert habe gebe ich auf und poste tatsächlich selbst.
Da ich mir nicht sicher bin ob ich nicht vielleicht von einem Fehler profitiere, beschreibe ich mein Problem erstmal mit einem Minimum an Code und Beispielmappen.
--< Funktion >--
Ich nutze Excel um ein Reporting zu erstellen. Dafür habe ich andere Tools, die mir Daten aggregieren und fertige Tabellen mit fester Anordnung zur Verfügung stellen (diese enthalten ganz klassisch Namen, berechnete Werte und Freitexte). Der Vorgang ist im Prinzip:
--< Problem >--
So, nun zu dem Problem - das Tool wird von einigen Kollegen genutzt. Bei 70% der Kollegen funktioniert es, die anderen 30% bekommen den Laufzeitfehler 1004 - Die Paste-Methode des Worksheet-Objektes konnte nicht ausgeführt werden.
An den Berechtigungen kann es kaum liegen - wenn ein betroffener Kollege das Tool mit seinem User auf meinem Rechner durchführt geht es einwandfrei.
Beim Debuggen bleibt der Code wie zu erwarten bei
stehen.
--< Lösungsansätze(?) >--
Ich bin leider kein VBA Profi und arbeite mich noch rein (der Code entsprang leider auch nicht meiner Feder)
Ganz lieben Dank im Voraus für euer Feedback und Engagement
Clemens
nachdem ich nun einen ganzen Tag im Netz recherchiert habe gebe ich auf und poste tatsächlich selbst.
Da ich mir nicht sicher bin ob ich nicht vielleicht von einem Fehler profitiere, beschreibe ich mein Problem erstmal mit einem Minimum an Code und Beispielmappen.
--< Funktion >--
Ich nutze Excel um ein Reporting zu erstellen. Dafür habe ich andere Tools, die mir Daten aggregieren und fertige Tabellen mit fester Anordnung zur Verfügung stellen (diese enthalten ganz klassisch Namen, berechnete Werte und Freitexte). Der Vorgang ist im Prinzip:
- Ich öffne meine Datentabelle, kopiere den Inhalt ohne Titelzeile (Strg+A, Strg+C)
- Gehe in die Excel-Mappe (Tabelle "Start") die das Makro/Makros enthält und klicke die Schaltfläche des Makros
- Das Makro (in der Kernfunktion) kopiert die Zwischenablage in ein bestimmtes Tabellenblatt (z.B. "Newsletter"). Dort ist eine Dummyzeile hinterlegt, die wird nach dem Einfügen noch gelöscht.
Code:
ActiveWorkbook.Unprotect Password:="Passwort"
'
Sheets("START").Select
Sheets("Newsletter").Visible = True
Sheets("Newsletter").Select
ActiveSheet.Unprotect Password:="Passwort"
Range("A13").Select
ActiveSheet.Paste
Rows("12:12").Select
Selection.Delete Shift:=xlUp
--< Problem >--
So, nun zu dem Problem - das Tool wird von einigen Kollegen genutzt. Bei 70% der Kollegen funktioniert es, die anderen 30% bekommen den Laufzeitfehler 1004 - Die Paste-Methode des Worksheet-Objektes konnte nicht ausgeführt werden.
An den Berechtigungen kann es kaum liegen - wenn ein betroffener Kollege das Tool mit seinem User auf meinem Rechner durchführt geht es einwandfrei.
Beim Debuggen bleibt der Code wie zu erwarten bei
Zitat: ActiveSheet.Paste
stehen.
--< Lösungsansätze(?) >--
- Nach meiner Recherche habe ich bereits rausfinden können, dass der Unprotect-Befehl angeblich den Zwischenspeicher löscht (zumindest sagen das Beiträge, die ca. 2 Jahre alt sind). Dagegen spricht aber, dass es wie gesagt bei ganz vielen Kollegen funktioniert. Auch habe ich das Makro auf meinem Rechner mit leerem Zwischenspeicher genutzt und habe keinen Fehler erhalten (Im Prinzip wurde nichts kopiert und nur die Dummy-Zeile gelöscht)
- Unterschiedliche Excel-Versionen? Habe ich bereits getestet und die Versionen bei mir und den Kollegen angeglichen - Fehler bleibt.
- Excel-Architektur: Die Rechner haben (fast) alle die 32-bit Version installiert. Könnte die 64-bit Version hier vielleicht Abhilfe schaffen?
- Makros sollten auch bei allen Kollegen aktiviert sein (gibt es einen perfekten Weg das zu prüfen?)
Ich bin leider kein VBA Profi und arbeite mich noch rein (der Code entsprang leider auch nicht meiner Feder)
Ganz lieben Dank im Voraus für euer Feedback und Engagement
Clemens