Microsoft Excel

Herbers Excel/VBA-Archiv

Probleme mit Makro, wenn Excel ausgeblendet ist? | Herbers Excel-Forum


Betrifft: Probleme mit Makro, wenn Excel ausgeblendet ist? von: Kasimir
Geschrieben am: 09.12.2009 14:18:23

Hallo Leute,
ich hoffe, Ihr könnt mir helfen. Vorab eine Info zu meiner Datei. Hierbei wird Excel durch "Application.Visible = False" im Hintergrund gehalten und nur durch eine UserFormen gesteuert.
Nun habe ich ein Makro, mit dem Daten aus dieser ausgeblendeten Datei von einem Tabellenblatt in eine andere Exceldatei kopiert werden. Das Makro ist das nachfolgende:

Sub Objektliste_exportieren()
    Dim Dateiname As String
    Dim LastRow As Integer
    Dim firstRow As Integer
    Dim wkbObjekte As Workbook
    Dim wkbMaster As Workbook
    
283 On Error GoTo ERRORHANDLER
    
285 bolExportObjektliste = True
286 Objekliste_wird_geöffnet = True
    
288 Call Programmbeschleunigung_ein
    
290 Application.Visible = True
    
292 Verzeichnis = Mid(ActiveWorkbook.path, 1, Len(ActiveWorkbook.path) - 8) & "Preislisten\"
    
294 LastRow = Sheets("Hilfstabelle").Range("E65536").End(xlUp).Row
    
296 Set wkbMaster = ThisWorkbook
    
298 Set wkbObjekte = Workbooks.Open(Verzeichnis & "\Objektverzeichnis.xls", Password:="flatino") _

    
300 wkbObjekte.Sheets(1).Columns("A:B").ClearContents
    
302 ThisWorkbook.Sheets("Hilfstabelle").Range("E1:F" & LastRow).Copy
303     wkbObjekte.Sheets(1).Range("A1").PasteSpecial
    
305 ThisWorkbook.Sheets("Hilfstabelle").Range("BN1:BN" & LastRow).Copy
306     wkbObjekte.Sheets(1).Range("C1").PasteSpecial
    
308 wkbMaster.Sheets("Leer").Activate
    
310 wkbObjekte.Close True
    
312 Set wkbObjekte = Nothing
313 Set wkbMaster = Nothing
    
315 Sheets("Leer").Activate
    
317 bolExportObjektliste = False
318 Objekliste_wird_geöffnet = False
319 Application.Visible = False
    
321 Exit Sub
    
     '----------------------------------------------------------------------------------
     'Prozedur beenden
325 Exit Sub
    
     '----------------------------------------------------------------------------------
     'Dieser Bereich wird abgearbeitet, sollte ein Fehler in Code auftretetn. Dann _
      erscheint eine Bildschirmmeldung
ERRORHANDLER:
330 bolExportObjektliste = False
331 Objekliste_wird_geöffnet = False
332 Call Programmbeschleunigung_aus
333 Fehlerzeile = Erl
334 Fehlerort = "Makros_Objektinhaltsverzeichnis"
335 Fehlerereignis = "Objektliste_exportieren"
336 Logdatei_erzeugen
    
338 Application.Visible = True
    End Sub
Das Makro funktioniert so, wie ich es aufgeführt habe im Moment. Wenn ich allerdings die Zeilen 290 und 319 lösche, dann funktioniert das nicht mehr. Durch den Befehl „wkbObjekte.Close True” in Zeile 310 wird die gesamte Datei geschlossen. Nur wenn ich am Anfang des Makros Excel einblende und am Ende wieder ausblende funktioniert es. Ich habe auch schon mit Windows(„xyz“) herum probiert, dass meine Ausgangsdatei wieder aktiviert ist, herum probiert, aber mit wenig Erfolg.
Weiß jemand, wie ich das realisieren kann, dass Excel sich im Hintergrund befindet, eine weiter Datei geöffnet werden kann, Daten kopiert werden und die gerade geöffnete Datei wieder geschlossen werden kann, ohne Excel komplett zu beenden? Ich wäre Euch sehr dankbar.

Gruß,
Kasimir

  

Betrifft: AW: Probleme mit Makro, wenn Excel ausgeblendet ist? von: fcs
Geschrieben am: 09.12.2009 16:26:53

Hallo Kasimir,

Activate und Select-Anweisungen für aktuell nicht sichtbare/anzeigbare Objekte führen in Excel zu Fehlern.

Lass die Zeilen 308 und 315 weg.
Wenn du in dem Blatt "Leer" noch Aktionen ausführen willst, dann muss du es einer Objektvariablen zuweisen.

Gruß
Franz


  

Betrifft: AW: Probleme mit Makro, wenn Excel ausgeblendet ist? von: Kasimir
Geschrieben am: 09.12.2009 17:49:31

Hallo Franz,

danke Dir für Deine Antwort. Allerdings hat Dein Vorschlag keine Änderung gebracht. Das komplette Excelprogramm wird immer noch geschlossen.

Noch jemand eine Idee?

Gruß,
Kasimir


Beiträge aus den Excel-Beispielen zum Thema "Probleme mit Makro, wenn Excel ausgeblendet ist?"