Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1364to1368
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

Anzeige im Projektexplorer

Anzeige im Projektexplorer
13.06.2014 09:19:34
Elke
Hallo Zusammen,
nochmal zu einem alten Problem:
Ein XL2010-Tool 'abcd.xlsm' arbeitet eine längere Berechnung ab und öffnet dann eine andere XL-Datei 'xyxy.xlsm'. ! ZEIGT diese aber NICHT im VBA-Projektexplorer an !
Das Programm läuft jedoch einwandfrei weiter und arbeitet einige Dinge in der neu geöffneten 'xyxy.xlsm' (die ja nicht angezeigt wird) bedingt durch Anweidungen in dem XL-Tool 'abcd-xlsm' ab.
Jetzt wird durch das XL-Tool 'abcd.xlsm' die Anweisung geben, in der 'xyxy.xlsm' Datei ein neues Blatt anzulegen.
Code: activeworkbook.worksheets.add
Jetzt plötzlich zeigt der Projektexplorer extreme Dynamik, er zeigt schrittweise die Inhalte der Arbeitsmappe 'xyxy.xlsm', was er vorher ja nicht tat und stoppt in einem leeren Makroblatt der 'yxyx.xlsm'. Es ist kein Code vorhanden, der irgendwas automatisch bei Öffnen von Arbeitsmappen Sheets etc. ausführen soll.
Der Code in dem XL-Tool 'abcd.xlsm' geht eigentlich weiter, nur dazu kommt es ja nicht mehr.
Wir haben schon versucht die diversen Sicherheitseinschränkungen an- und wieder abzuschalten. In allen Variationen bleibt der Code beim Anlegen eines neuen Sheets ohne irgend ein Hinweis wie oben geschildert stehen und man kann dann dann normal manuell weiterarbeiten; keine Fehlermeldung, nichts. ? Den Effekt haten wir noch nicht. In anderen Tools unter ähnlichen Umständen wird ein Sheet angelegt und weitergeht´s. Was kann der Umstand sein?
Ein Fingerzeig wäre schon extrem hilfreich!
Gruß
Elke

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

Betreff
Datum
Anwender
Anzeige
AW: Anzeige im Projektexplorer
13.06.2014 18:20:26
ChristianM
Hallo Elke,
ich hab mir eben mal auch deinen alten Thread durchgelesen:
https://www.herber.de/forum/archiv/1364to1368/t1364667.htm
Es ist natürlich schwer, insbesondere ohne Beispieldateien, das nachzuvollziehen.
Neben dem im o.g. Thread schon genannten hätte ich folgende Tipps:
  • Nutze stets "Option Explicit" - das hilft ungemein beim debuggen

  • Deklariere alle Variablen sauber (zb. Dim wkbXYZ As Workbook, wksABC As Worksheet, ...)

  • Setze beim Debuggen an entsprechende Stellen Haltepunkte und schau dir im Lokalfenster die Werte der jeweilen Variablen an. Anschließend kannst du für weitere Analyse den Code auch in Einzelschritten durchlaufen (F8), oder mit F5 bis zum nächsten Haltepunkt, bzw. bis zum Ende ausführen.

  • Ebenso kannst du parallel im Überwachungsfenster einzelne Variablen überwachen.

  • Referenziere immer vollständig und korrekt. Bsp:
    Option Explicit
    Sub TestIt()
    Dim wkbXYZ As Workbook
    Dim wksABC As Worksheet
    Dim strPath As String
    strPath = "D:\Test.xlsm"
    Set wkbXYZ = Workbooks.Open(strPath)
    Set wksABC = wkbXYZ.Worksheets("Test")
    With wksABC
    '... mach was, aber immer mit Referenz zum jwlg. Workbook, Worksheet, Range, ... zB:
    .Cells(1, 2).Value = "test"
    End With
    wkbXYZ.Close SaveChanges:=True
    Set wksABC = Nothing
    Set wkbXYZ = Nothing
    End Sub
    

  • Alles ganz ohne "Select" und "Activate". ActiveWorkbook und ActiveSheet brauchst du dann auch nicht, denn du weißt immer, wo du grade bist.

  • Kein "On Error Resume Next", sondern mögliche Fehler im Code abfangen

  • Wenn du das alles schon befolgst, dann hab ich dir jetzt nichts Neues erzählt. Andernfalls behaupte ich, dass du den Fehler so herausfindest und korrigieren kannst.
    Grüße
    Christian

    Anzeige
    AW: Anzeige im Projektexplorer
    15.06.2014 22:44:50
    Elke
    Hallo Christian,
    danke für die Antwort. Komme erst jetzt dazu die zu beantworten. Der geschilderte Effekt tritt auch auf, wir haben´s probiert, wenn alles an Code in sämtlichen Modulen, Sheets und im Workbook (da war nirgends was drinne) rausgeworfen ist und nur ein simples Test Sub mit dem Code: application.statusbar = false reingesetzt wird. Das Programm aus dem anderen Tool bleibt daran ohne Fehlermeldung etc. kleben.
    Nur wenn die zu bearbeitende Datei als xlsx, also bekanntermaßen ohne Makros aber sonst namensgleich und mit exact demselbem Inhalt in den Arbeitsblättern abgespeichert wird, läuft das Toolprogramm einwandfrei durch. Ich schiebe dann die vorher ausgelagerten bas.Dateien wieder rein. Funktioniert, nur soll natürlich so nicht bleiben.
    Grüße
    Elke
    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige