Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Makro geht nicht wenn zwei Dateien offen

Makro geht nicht wenn zwei Dateien offen
27.03.2022 11:01:26
bomex
Hallo liebe Herbers Excel-Forum Gemeinde,
ich habe eine Excel Arbeitsmappe mit Makro erstellt in der Rechnungen geschrieben werden und über einen Menü Button geht eine UserForm auf und dort sind zwei Buttons zur Auswahl aufgeführt. Einer davon heißt "Neue Rechnung" und wenn man diesen anklickt soll das Makro (welches ich nicht selbst geschrieben habe ,sondern nur meine Daten eingefügt habe) das Arbeitsblatt "Vorlage" kopieren und mit einem bestimmten Namen, sowie einer ständig fortlaufenden Nummer umbenannt einfügen.
Dieses Makro habe ich in der Datei auf meinem Laptop erstellt und soweit funktioniert dieses auch, allerdings arbeite ich mit einen Strato Server und dort sollen auch andere mit der Datei arbeiten können. Ich habe die Datei auf dem Server Kopiert und das Makro funktioniert auch auf dem Server solange die Datei alleine geöffnet ist.
Wenn man diese Datei offen hat und man öffnet eine andere excel Datei weil man Parallel diese braucht dann funktioniert das Makro nicht mehr und ich kann den Fehler auch nirgends im Internet finden.
Sobald parallel eine andere Datei geöffnet ist und ich dieses Makro ausführen möchte kommt folgender Fehler: Pfad nicht gefunden: ',\VB2927.tmp' und wenn ich auf Ok klicke kommt Fehler-Nr.: 1004 Wir konnten dieses Blatt nicht kopieren.
Kann mir bitte jemand bei dem Problem helfen warum es auf dem Server nicht funktioniert wenn man zwei excel Dateien offen hat? PS.: AM Laptop funktioniert das Makro auch wenn ich zwei Excel Dateien offen habe.
Hier ist der Code:

Sub neue_Rechnung_Klicken()
'Vorlagenblatt kopieren, einfügen und umbenennen mit fortlaufender Nr.
Dim wbAktiv As Workbook
Dim wks As Worksheet
Dim intNrName As Integer
Dim strKopieNeu As String
Const strKopie As String = "M22-0" 'Startext für Name Blatt-Kopie
Const strVorlage As String = "Vorlage" 'Name des Vorlageblattes
Const varEinfuegeBlatt As Variant = "Vorlage" 'Name oder Nummer des Blatts vor _
dem eingefügt werden soll
Const strFormat As String = "0" 'Format für Zählziffer bei Namen
On Error GoTo Fehler
Set wbAktiv = ActiveWorkbook
'Nummer des Neuen Namens ermitteln
'Es wird die höchste Zählnummer der Namen ermittelt, die mit dem Kopie-Namen beginnnen
For Each wks In wbAktiv.Worksheets
With Application.WorksheetFunction
If LCase(Left(wks.Name, Len(strKopie))) = LCase(strKopie) Then
If IsNumeric(Mid(wks.Name, Len(strKopie) + 1)) Then
intNrName = .Max(intNrName, CLng(Mid(wks.Name, Len(strKopie) + 1)))
End If
End If
End With
Next
'Neuen Namen ermitteln
strKopieNeu = strKopie & Format(intNrName + 1, strFormat)
'Neues Blatt anlegen und Name zuweisen
wbAktiv.Worksheets(strVorlage).Copy before:=wbAktiv.Worksheets(varEinfuegeBlatt)
ActiveSheet.Name = strKopieNeu
Fehler:
With Err
If .Number  0 Then
MsgBox "Fehler-Nr.: " & .Number & vbLf & .Description
End If
End With
End Sub
Mit freundlichen Grüßen
bomex
Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro geht nicht wenn zwei Dateien offen
27.03.2022 11:12:23
onur
Der Code OHNE die Datei ist genauso wenig wert wie die Datei ohne den Code.
AW: Makro geht nicht wenn zwei Dateien offen
27.03.2022 11:59:27
bomex
Hallo Onur,
ich habe die Datei mal hochgeladen und von den anderen Makros wie automatisches Backup und alte Backups löschen ausgeklammert.
Um alles zu testen muss man dann die Datei Pfade selbst neu einfügen.
https://www.herber.de/bbs/user/152073.xlsm
Anzeige
AW: Makro geht nicht wenn zwei Dateien offen
27.03.2022 12:14:09
onur
Lass mal

Set wbAktiv = ActiveWorkbook
weg und trage überall drunter statt

wbAktiv
das hier

ActiveWorkbook
ein.
AW: Makro geht nicht wenn zwei Dateien offen
27.03.2022 17:31:01
bomex
Hallo Onur,
ich habe die Datei mal hochgeladen und von den anderen Makros wie automatisches Backup und alte Backups löschen ausgeklammert.
Um alles zu testen muss man dann die Datei Pfade selbst neu einfügen.
https://www.herber.de/bbs/user/152073.xlsm
Anzeige
AW: Makro geht nicht wenn zwei Dateien offen
27.03.2022 12:15:12
GerdL
Moin B.
ersetze mal
Set wbAktiv = ActiveWorkbook
durch
Set wbAktiv = ThisWorkbook
Gruß Gerd
AW: Makro geht nicht wenn zwei Dateien offen
27.03.2022 12:18:29
onur
Oh Mist! Genau DAS meinte ich auch. :(
AW: Makro geht nicht wenn zwei Dateien offen
27.03.2022 17:42:41
bomex
Hallo Gerd und Onur,
vielen Dank für die schnellen Antworten.
Ich habe wie beschrieben das Set wbAktiv = ActiveWorkbook
durch
Set wbAktiv = ThisWorkbook ersetzt.
Ich habe es mit der einen Datei in einem anderen Ordner auf dem Strato highdrive Laufwerk ausprobiert und ich habe trotzdem das Problem das der selbe Fehler kommt . Allerdings steht bei VB immer eine andere Nummer dabei.
Ich habe alles geschlossen und diese Datei in der ich es geändert habe neu geöffnet und parallel eine andere Excel Datei auf diesem Laufwerk geöffnet und dort ging es dann. Anschließend habe ich andere Excel Dateien auf dem Laufwerk ausprobiert und dann ging es auch, danach habe ich aus dem Ordner wieder die Excel Datei geöffnet mit der es nicht ging und siehe da es ging wieder nicht. Dann habe ich die Rechnungsdatei mit der Änderung offen gelassen und die anderen Dateien probiert mit dem es ging und mit diesen ging das Makro dann auch nicht mehr. Es ging dann erst wieder mit den Dateien indem ich die Rechnungs Datei geschlossen und neu geöffnet habe. Danach habe ich wieder aus dem Ordner die eine Datei mit der es nicht ging Parallel zur Rechnungsdatei mit der Änderung geöffnet und es kam immernoch der Fehler.
Kann es sein das irgendetwas mit diesem Ordner nicht stimmt bzw. mit dieser Excel Datei selbst?
Anzeige
AW: Makro geht nicht wenn zwei Dateien offen
30.03.2022 10:22:34
bomex
Hallo zusammen, ich konnte leider den Fehler noch nicht herausfinden warum mein Makro nur bei einer oder bestimmten excel Dateien auf dem Server nicht funktioniert wenn beide Dateien parallel geöffnet sind.
Hat jemand von euch vll. eine Idee oder Lösung?
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Makro-Probleme bei parallelen Excel-Dateien


Schritt-für-Schritt-Anleitung

  1. Öffne die Excel-Datei mit dem Makro. Stelle sicher, dass die Datei mit den benötigten Makros korrekt geladen ist.
  2. Ändere den Code im Makro:
    • Ersetze Set wbAktiv = ActiveWorkbook mit Set wbAktiv = ThisWorkbook. Dies stellt sicher, dass Du auf das Makro in der aktuellen Arbeitsmappe zugreifst.
  3. Teste das Makro:
    • Schließe alle anderen Excel-Dateien und öffne nur die Arbeitsmappe mit dem Makro.
    • Führe das Makro aus und überprüfe, ob es wie erwartet funktioniert.
  4. Öffne eine zweite Excel-Datei:
    • Teste das Makro erneut, während Du eine andere Excel-Datei geöffnet hast. Achte auf die Fehlermeldungen, die angezeigt werden.

Häufige Fehler und Lösungen

  • Fehler: "Pfad nicht gefunden: ',\VB2927.tmp'"

    • Lösung: Dieser Fehler kann auftreten, wenn Du mehrere Excel-Dateien gleichzeitig geöffnet hast. Überprüfe, ob der Pfad zur Vorlage korrekt ist und ob die Datei auf einem stabilen Server wie Strato Highdrive gespeichert ist.
  • Fehler: "Wir konnten dieses Blatt nicht kopieren."

    • Lösung: Achte darauf, dass die Vorlage nicht in einer anderen Datei oder von einer anderen Instanz verwendet wird. Es kann auch helfen, die Excel-Datei mit Makros neu zu speichern.

Alternative Methoden

  • Verwende anstelle von Makros die Excel-Funktionen. Oft können Aufgaben wie das Kopieren und Umbenennen von Blättern auch manuell oder durch einfache Excel-Formeln gelöst werden.
  • Nutze VBA-Module: Wenn mehrere Dateien geöffnet sind, kann es hilfreich sein, die Logik des Makros in ein Modul zu verschieben, um Konflikte zu vermeiden.

Praktische Beispiele

Hier ist ein Beispiel für einen einfachen Makro-Code, der das Kopieren eines Arbeitsblatts durchführt:

Sub KopiereBlatt()
    Dim wbAktiv As Workbook
    Set wbAktiv = ThisWorkbook
    wbAktiv.Worksheets("Vorlage").Copy After:=wbAktiv.Worksheets(wbAktiv.Worksheets.Count)
End Sub

In diesem Beispiel wird ein Arbeitsblatt namens "Vorlage" kopiert und am Ende der aktuellen Arbeitsmappe eingefügt. Stelle sicher, dass die Vorlage existiert, und teste den Code ohne andere Excel-Dateien geöffnet zu haben.


Tipps für Profis

  • Debugging: Nutze die Debugging-Tools in VBA, um genau zu verfolgen, an welcher Stelle der Fehler auftritt. Setze Breakpoints und überprüfe die Variablen.
  • Verwende Error Handling: Implementiere eine Fehlerbehandlung im Makro, um spezifische Fehler zu fangen und zu protokollieren.
  • Speichere regelmäßig: Stelle sicher, dass Du Deine Excel-Datei mit Makros regelmäßig speicherst, besonders vor umfangreichen Änderungen.

FAQ: Häufige Fragen

1. Warum funktioniert mein Makro nicht, wenn zwei Excel-Dateien offen sind? Das liegt häufig an Pfadproblemen oder an der Art, wie Excel mit mehreren Instanzen umgeht. Stelle sicher, dass die Datei mit dem Makro korrekt referenziert wird.

2. Was kann ich tun, wenn eine Excel-Datei mit Makros sich nicht öffnen lässt? Überprüfe die Sicherheitseinstellungen in Excel. Manchmal verhindern diese das Öffnen von Dateien, die Makros enthalten. Stelle sicher, dass Du die Datei von einem vertrauenswürdigen Speicherort öffnest.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige