Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1656to1660
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Makro startet in falscher Excel-Datei (2te)

Makro startet in falscher Excel-Datei (2te)
24.11.2018 09:04:52
Dominik
Guten Morgen euch allen,
ich hatte die letzten Wochen leider keine Zeit mich mit diesem Thema nochmals auseinander zu setzten. Ich habe aber immer noch das Problem, dass ich wenn ich zwei Excel-Dateien offen habe mein Makro aktiviert wird, welches sich nur auf eine Excel-Datei beschränken muss.
(siehe dazu bitte auch https://www.herber.de/forum/archiv/1652to1656/t1654670.htm#top)
Ich kann unter diesem Beitrag aber leider nicht mehr Antworten. Deshalb habe ich nochmals einen Beitrag eröffnet
Hier nochmal mein letzter Beitrag:
*************************************************************************************
Ich habe mir heute Morgen die Zeit genommen eine Datei für euch nachzubauen. Im Orginal gibt es noch deutlich mehr Blätter und sonstige Makros. Ich habe es nun wirklich auf den Fehler beschränkt.
Die Dateien findet Ihr unter den Links:
https://www.herber.de/bbs/user/125086.xlsm
(Datei auf die das Makro beschränkt sein soll)
und
https://www.herber.de/bbs/user/125083.xlsm
(Test-Datei in der der Fehler auftritt wenn die Datei mit Makro noch offen ist)
Mir ist aufgefallen, dass ich diesen Fehler immer bekommen wenn ich in der ersten Datei "Name:Test" einen Betrag "aktuallisiere" oder mit Enter bestätige (Beträge hinterlegt mit 99). Wenn ich dann in die andere Datei wechsele "Name:TestMappe2" und dort in der "Tabelle" etwas eintragen möchte, dann erhalte ich die Fehlermeldung (siehe Bild).
Userbild
Bitte meldet euch wenn ich euch noch eine Frage schuldig geblieben bin oder die Variablen noch abändern soll (ist bei dieser größe der Datei natrülich nicht mehr notwendig).
Gruß
Dominik
*************************************************************************************
Die Nachricht von "Gerd L" brachte mich hier nicht weiter.
*************************************************************************************
Moin,
die Methode Intersect funktioniert nur mit 2 Range innerhalb eines u. des selben Blattes.
Gruß Gerd
*************************************************************************************
Da die Intersect-Funktion nur mit 2 Ranges arbeiten kann habe ich in dieser noch die Union-Funktion verwendet. Wenn ich nur die Excel-Datei "Name:Test" offen habe funktioniert ja auch alles problemlos. Probleme bekomme ich erst wenn ich gleichzeitig noch in eine andere Excel-Datei gehe und dort etwas ändere "Name:TestMappe2".
Vielleicht könnt ihr mir nun weiterhelfen.
Gruß
Dominik

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Referenzieren ...
24.11.2018 10:18:45
Matthias
Hallo
Dem Link bin ich nicht gefolgt.
Ich hab mir auch nur eine Datei angeschaut.
Also mal ohne das durchzutesten ...
Dort wo der Fehler auftritt eine Abfrage drum ob es das Workbook ist in dem auch der Code steht(ThisWorkbook)
If Workbooks(m_cstrNameWorkbook).Name = ThisWorkbook.Name Then
End If
oder
If Workbooks(m_cstrNameWorkbook).FullName = ThisWorkbook.FullName Then
End If
Ansonsten immer schön referenzieren
Gruß Matthias
AW: TIPP leider ohne Erfolg
25.11.2018 13:24:45
Dominik
Hallo allen,
ich habe den Vorschlag von Matthias L gerade einmal probiert. Mit der vorgeschalteten If-Abfrage. Leider ändert diese nichts am Endergebnis. Ich bekommen genau die gleiche Fehlermeldung in der zweiten Excel-Datei.
Public Sub DatumEintragenFreibetraege()
Dim Zelle As Range
Dim intOffset As Integer
Const cstrNameSheet As String = "Freibeträge"
intOffset = 1
Application.DisplayAlerts = False
If Workbooks(m_cstrNameWorkbook).FullName = ThisWorkbook.FullName Then
If p_intSelectZeile = 0 Or p_intSelectSpalte = 0 Then
ActiveCell.Offset(1, 0).Select
Exit Sub
Else
Set Zelle = Workbooks(m_cstrNameWorkbook).Sheets(cstrNameSheet).Cells( _
p_intSelectZeile, p_intSelectSpalte)
If Intersect(Zelle, Union(Workbooks(m_cstrNameWorkbook).Sheets(cstrNameSheet).Range( _
"tblTest1"), Workbooks(m_cstrNameWorkbook).Sheets(cstrNameSheet).Range("tblTest2")), Workbooks(m_cstrNameWorkbook).Sheets(cstrNameSheet).Columns(p_cintSpalteBetrag)) Is Nothing Then Exit Sub
modBlattschutz.BlattschutzAus
Workbooks(m_cstrNameWorkbook).Sheets(cstrNameSheet).Cells(p_intSelectZeile,  _
p_intSelectSpalte).Offset(0, p_cintOffsetDatumBetrag).Value = Format(Date, "DD.MM.YYYY")
modBlattschutz.BlattschutzAn
Do While Workbooks(m_cstrNameWorkbook).Sheets(cstrNameSheet).Cells(p_intSelectZeile  _
+ intOffset, p_intSelectSpalte).Locked = True
If intOffset > 100 Then
intOffset = 0
Exit Do
Else
intOffset = intOffset + 1
End If
Loop
Workbooks(m_cstrNameWorkbook).Sheets(cstrNameSheet).Cells(p_intSelectZeile,  _
p_intSelectSpalte).Offset(intOffset, 0).Select
End If
End If
Application.DisplayAlerts = True
End Sub
Der Fehler kann eigentlich doch auch nicht beim Durchlaufen der Prozedur passieren, da in der Excel-Datei in der der Fehler ("TestMappe2") auftritt das Modul garnicht aufgerufen/angesprochen wird. Irgendwie will Excel aber die Select-Anweisung trotzdem prüfen und dabei tritt der Fehler auf.
Könnt Ihr mir soweit folgen? Andernfalls versuche ich es nochmals mit anderen Worten.
Ich wünsche euch noch einen schönen Sonntag.
Gruß
Dominik
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige