[2k7] Workbooks.open - Problem

09/11/2009 - 16:36 von Erik Harren | Report spam
Moin!

Ich versteh' mein VB-Script nicht mehr. Ich lese aus einer
auszuwàhlenden Excel-Datei einige Bereiche von unterschiedlichen Sheets
ein. Allerdings erhalte ich neuerdings imm eride Warnung, dass er die
Datei wieder öffnen möge und dann einige Kalkulationen verloren gehen.
Daher möchte ich das trhàF nun von hinten aufzàumen.

Dabei gehe ich wiefolgt vor:

Dim Quelldatei, Zieldatei, dat As String
Workbooks.Open Filename:=Quelldatei, ReadOnly:=True
' einsichtig, weil erstmalig
Sheets("Grunddaten").Select
' Such Bereich und kopiere
Windows(Zieldatei).Activate
Sheets("Grunddaten").Select
' einfügen
Workbooks.Open Filename:=Quelldatei, ReadOnly:=True
' Workbook(Quelldatei).Activate
' funktioniert leider nicht.
Sheets("Grunz").Select
' Such Bereich und kopiere
Windows(Zieldatei).Activate
Sheets("Grunz").Select
' einfügen
'usw.

QuellDatei sieht derart aus:
"C:\Ein\Pfad\ein\schöner\Pfad\Blah Blubb (hhh-nnn)dfd.xls"

Hat jemand einen Ansatz für mich, was ich da falsch gemacht haben könnte
- bzw. eine Erklàrung, warum jetzt auf einmal bei jedem Durchlauf ich
gefragt werde, ob die Datei wieder geöffnet werden soll, obwohl offen
und nun alle zwischenzeitlichen Neuberechnungen verloren gingen?

Ich wüsste nicht, dass ich etwas eingestellt habe, dass beim Öffnen
einer Excel-Datei die Blàtter neuberechnet würden.

Gruß,
Erik.
 

Lesen sie die antworten

#1 Andreas Killer
09/11/2009 - 17:36 | Warnen spam
Erik Harren schrieb:

ein. Allerdings erhalte ich neuerdings imm eride Warnung, dass er die
Datei wieder öffnen möge und dann einige Kalkulationen verloren gehen.

Workbooks.Open Filename:=Quelldatei, ReadOnly:=True
' einsichtig, weil erstmalig


Ja, ist klar, hier wird die Datei zum ersten Mal geöffnet.

Sheets("Grunddaten").Select
' Such Bereich und kopiere


Select ist nie gut.

Windows(Zieldatei).Activate


Windows??? WorkBooks(Zieldatei) !!

Sheets("Grunddaten").Select
' einfügen



Hier zum 2ten Mal:
Workbooks.Open Filename:=Quelldatei, ReadOnly:=True
' Workbook(Quelldatei).Activate
' funktioniert leider nicht.

Hat jemand einen Ansatz für mich, was ich da falsch gemacht haben könnte


Probiers mal ohne Select und referenziere direkt. Einfacher,
schneller, schließt Folgefehler aus.

Andreas.

Sub Test()
Dim Quelle As Workbook
Dim Quelldatei As String
Quelldatei = "C:\temp\test.xls"
Set Quelle = Workbooks.Open(Filename:=Quelldatei, _
ReadOnly:=True)
Quelle.Sheets("Grunddaten").Range("A1:A100").Copy _
ThisWorkbook.Sheets("Grunddaten").Range("A1")
Quelle.Close
End Sub

Ähnliche fragen