Clever-Excel-Forum

Normale Version: ScreenUpdating
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo liebes Forum,
ich hätte eine für Euch wahrscheinlich simple Frage.
Wie kann ich verhindern, dass eine geöffnete Datei am Bildschirm erscheint.

So funktioniert es leider nicht:

Application.ScreenUpdating = False
Workbooks.Open Filename:=strPath & strFile


Danke für Eure Hilfe.
Liebe Grüße
Helmut
Warum möchtest du die Datei öffnen und sie aber dann nicht sehen? Welchem Zweck soll das dienen?
Weil dadurch eine Berechnung durchgeführt wird, die  mit Öffnen der Datei erfolgt,  in der ungeöffneten Datei aber noch nicht vorhanden ist,
da er erst aus einer anderen ungeöffneten Datei ausgelesen wird.
Klingt wahrscheinlich kompliziert.
Danke für die Mühe.
LG Helmut
Hallöchen,

eine Suche hier im Forum nach workbook.open bringt unter anderem diesen Thread:
http://www.clever-excel-forum.de/Thread-...kbook.open
Hallo,

der "übliche" W eg ist:

Code:
with GetObject(Pfad & Name & ".xlsx")

Die Datei soll dann NICHT gespeichert werden, da sie sonst beim nächsten Öffnen wieder "unsichtbar" ist.

Alternativ geht auch "normal" öffnen und Windows(1).visible = false.

mfg
Hallo heli,

ich poste mal einen Code den ich benutze um eine Datei auszuwählen, die dann im Hintergrund geöffnet wird, Daten kopiert und in meine aktuelle Datei eingefügt werden und anschließend wird die unsichtbar geöffnete Datei wieder ohne speichern geschlossen.

Code:
Private Sub DatenLaden()
Dim MyFile As Variant

   'Bildschirmaktualisierung aus
   Application.ScreenUpdating = False

   ' Manuelle Suche nach DatenDatei
   
   ' Prüft ob schon Daten importiert sind
   If Not Range("Start!A113").Value = "" Then
   AchtungDatenschonImportiert.Show
   Else
   ' Öffnet Dialog zum Suchen der Datei der DatenDatei
       MsgBox "Bitte wähle die aktuelle DatenDatei (*.xls-Datei)"

 
   ' "Excel (*.xls), *.xls" beschränkt die Dateiauswahl auf XLS Dateien
   MyFile = Application.GetOpenFilename("Excel (*.xls), *.xls")
       
       If Not MyFile = False Then
       Workbooks.Open (MyFile)
       Else
       Exit Sub
       End If
   ' Kopiert alle Zellen und kopiert sie in "Start"
   Range("A1:Z1000").Copy
   ThisWorkbook.Worksheets("Start").Range("A100").PasteSpecial xlPasteValues
   
   ' Speichert nicht und schließt die geöffnete Datei, DisplayAlerts deaktiviert kurzzeitig die Nachfrage nach Speichern
   Application.DisplayAlerts = False
   ActiveWorkbook.Close SaveChanges:=False
   Application.DisplayAlerts = True
   

Du wirst diesen Code nochmal anpassen müssen, aber ich denke der Umriss zeigt dir wie du verfahren kannst.

Grüße
Martin
@Kliifi

Diese Code reicht schon aus:

Code:
Sub M_snb()
  With Application.FileDialog(1)
     If .Show Then ThisWorkbook.Sheets(1).Range("A1:A100") = GetObject(.SelectedItems(1)).Sheets(1).Range("A1:A100").Value
  End With
End Sub
Hallo,

ich bedanke mich bei allen, die einen Beitrag gesendet haben.

Liebe Grüße Helmut