Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1320to1324
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

Probleme mit Workbooks.Open

Probleme mit Workbooks.Open
10.07.2013 08:56:10
kultnoob
Hallo zusammen,
bin gerade ein wenig am programmieren... Um den Code zu testen klicke ich ganz einfach die F8 Taste und das Programm geht Zeile für Zeile durch. Das klappt auch immer ABER...
Innerhalb meines Codes habe ich den Befehl Workbooks.Open...
Sobald die Zeile kommt, rattert das Makro selber durch ABER es werden im Makro Zeilen übersprungen... Zumindest mal mind. eine If-Anweisung.
Meine Aufgabe ist, eine Auswertung zu erstellen die sich Daten aus zwei Exceldateien kopiert. Dabei war angedacht, die Dateien zu öffnen, die Dateien zu kopieren und diese wieder zu schließen.
Anbei die ersten Zeilen des Codes... Pfad und Namen wurden abgeändert...
Private Sub TESCHD()
'Der Auswertungsdatei den Namen Tech zuweisen
Tech = ActiveWorkbook.Name
'Datei 123 öffnen um daraus Daten zu kopieren
Workbooks.Open ("Pfad zur Datei\123.xlsx")
lrow1 = Workbooks("123.xlsx").Sheets(1).UsedRange.Rows.Count
'Der Datei 123 den Namen Anfrage zuweisen
Anfrage = Workbooks("123.xlsx").Name
Bei Worksbooks.open, wenn ich dort bin, rattert das Makro einfach weiter obwohl ich mich bis dahin mit F8 durchgezappt habe. Dann fehlen zwar Daten, aber wenn ich das Makro erneut mit F8 durchklicke, dann springt er zwar immer noch ab Workbooks.Open durch, aber dafür jede Zeile...
So einen Fall hatte ich noch nicht... Googeln brachte mich auch keine Hilfe. Wisst Ihr woran das liegen kann? Vielen Dank für eure Hilfe...

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Probleme mit Workbooks.Open
10.07.2013 08:57:43
Hajo_Zi
setze eine Halte Punkt nach Open.

AW: Probleme mit Workbooks.Open
10.07.2013 09:04:59
kultnoob
Hi Hajo_Zi,
einen Halte Punkt? Einen Haltepunkt setzte ich doch, wenn das Makro (mit F5 gestartet) dort anhalten soll. Ist dann im Code rot markiert.
Oder verstehe ich hier etwas falsch?

AW: Probleme mit Workbooks.Open
10.07.2013 09:14:12
Hajo_Zi
ja, das meinte ich die rote Markierung.
Gruß Hajo

AW: Probleme mit Workbooks.Open
10.07.2013 09:39:41
kultnoob
Ok, dann funktioniert es doch wie soll ich dann das Makro später ausführen, wenn ich immer Haltepunkte setzen muss.
Innerhalb des Makros muss ich zwei Dateien öffnen.

Anzeige
AW: Probleme mit Workbooks.Open
10.07.2013 09:41:39
Hajo_Zi
es ging jetzt um die Testung. Im Livebetrieb, brauchen keine Haltepunkte gesetzt werden.
Gruß Hajo

AW: Probleme mit Workbooks.Open
10.07.2013 09:44:50
kultnoob
Ok alles klar...
Mit F5 geht es nicht,
mit F8 und zwei Haltepunkten geht es...

AW: Probleme mit Workbooks.Open
10.07.2013 09:52:40
Hajo_Zi
vielleicht, reicht eine Pause nach open, mal ein wenig mit der Zeit spielen.
Application.Wait now + TimeSerial(0, 0, 3)
Gruß Hajo

AW: Probleme mit Workbooks.Open
10.07.2013 09:59:34
kultnoob
Diesen Ansatz hatte ich auch schon. Hatte damit auch kein Glück. Habe es aber erneut versucht. Es hat leider nicht funktioniert. Mir stellen sich zwei primäre Fragen.
Erstens:
Warum läuft das Makro nach dem Befehl Workbooks.Open selber weiter obwohl ich mit F8 Zeile für Zeile durchgehe?
Zweitens:
Vielleicht pack ich das Problem falsch an?
Daraus resultiert:
Gibt es eine Möglichkeit, Daten aus einer Datei einzulesen ohne diese Datei zu öffnen oder gibt es eine andere Möglichkeit eine Datei zu öffnen?

Anzeige
AW: Probleme mit Workbooks.Open
10.07.2013 10:04:20
Hajo_Zi
zu 1 das ist eben in Excel so, das ist normal.
PS
ja
Option Explicit
Public Function GetDataClosedWB(SourcePath As String, _
SourceFile As String, sourceSheet As String, _
SourceRange As String, TargetRange As Range) As Boolean
'Holt einen Bereich aus einer _geschlossenen_ Arbeitsmappe
'Nur in VBA zu verwenden; nicht aus einer Tabellenzelle heraus
'© t.ramel@mvps.org
' wird durch die HoleDaten aufgerufen
Dim strQuelle       As String
Dim Zeilen          As Long
Dim Spalten         As Byte
On Error GoTo InvalidInput
strQuelle = "'" & SourcePath & "[" & SourceFile & "]" & sourceSheet & "'!" & Range( _
SourceRange).Cells(1, 1).Address(0, 0)
Zeilen = Range(SourceRange).Rows.Count
Spalten = Range(SourceRange).Columns.Count
With TargetRange.Cells(1, 1).Resize(Zeilen, Spalten)
.Formula = "=IF(" & strQuelle & "="""",""""," & strQuelle & ")"
.Value = .Value
End With
GetDataClosedWB = True
Exit Function
InvalidInput:
MsgBox "Die Quelldatei oder der Quellbereich ist ungültig!", vbExclamation, "Get data from  _
closed Workbook"
GetDataClosedWB = False
End Function
Public Sub HoleDaten()
' Die Funktion arbeitet mit der obrigen GetDataClosedWB zusammen
Dim Pfad            As String
Dim Dateiname       As String
Dim Blatt           As String
Dim Bereich         As String
Dim Ziel            As Range
Pfad = "L:\Eigene Dateien\Hajo\Internet\Test\2009\"
Dateiname = "Beispiel Forum 30.xlsm" ' aus welcher Datei soll er holen?
Blatt = "Tabelle1"  ' von welcher Tabelle soll er holen?
Bereich = "A1:B9"   ' aus welchem Bereich soll er holen?
Set Ziel = ActiveSheet.Range("A1")  ' in welchen Bereich soll er kopieren? Genauer gesagt:  _
Bei welcher Zelle soll er anfangen, Datein reinzukopieren? Bsp: ActiveCell geht auch
If GetDataClosedWB(Pfad, Dateiname, Blatt, Bereich, Ziel) Then
MsgBox "Daten importiert"
End If
End Sub

Set wbB = Workbooks.Open(strDatName, UpdateLinks:=False)
Gruß Hajo

Anzeige
AW: Probleme mit Workbooks.Open
10.07.2013 10:24:29
kultnoob
Ui... kompliziertes Makro. Da muss ich mich erst einmal reinarbeiten. Versuche diesen Code einzubauen. Wird aber eine Weile dauern. Melde mich wenn es klappt und wenn nicht melde ich mich auch... :D
Danke für die Hilfe...

AW: Probleme mit Workbooks.Open
10.07.2013 10:59:54
Luschi
Hallo Hajo,
Deine Antwort zur Frage 1 zeugt davon, daß Du diesen Fall noch nie getestet hast, sonst würdest Du hier nicht solchen Unsinn verbreiten. Beim Schrittfolgen-Debuggen mit 'F8' muß der Debugger schön brav nach dem Öffrnen einer anderen Excel-Datei warten in der nächsten Vba-Zeile.
Hier ein Beweis-Bildchen:
Userbild
Gruß von Luschi
aus klein-Paris

Anzeige
AW: Probleme mit Workbooks.Open
11.07.2013 10:50:50
kultnoob
Hi Luschi,
Hi Hajo,
vielen Dank für die Hilfe. Das Beispiel von Hajo konnte ich leider nicht umsetzen. Aber ich habe eine andere Lösung gefunden. Zwar läuft das Makro nach dem Öffnen der Datei trotz F8 einfach weiter, aber ich habe das Makro einfach in 3 Subs unterteilt. Nach dem Öffnen der ersten Datei werden alle Daten kopiert. Datei wieder schließen und fertig. Im zweiten Sub wird Datei zwei geöffnet und eine If-Anweisung gestartet. Datei schließen und fertig. Im dritten Sub werden dann die Daten bearbeitet und die Auswertung erstellt. Bisher funktioniert alles. Die Subs rufe ich über einen Call Befehl auf wobei ich noch einen Shortcut belegt habe um das Makro auszuführen. Klappt bisher wunderbar.

Anzeige
AW: Probleme mit Workbooks.Open
11.07.2013 12:53:57
Luschi
Hallo kultnoob,
wenn Du an einer bestimmten Stelle im Vba-Code unbeding anhalten willst, dann gibt es ja die F9-Taste, die einen Haltepunkut an der Stelle setzt.
Außerdem gibt es auch noch den Stop-Befehl, der sich wie ein gesetzter Haltepunkt verhält und auf die Weiterführung per F5 oder F8-Taste wartet.
Gruß von Luschi
aus klein-Paris

AW: Probleme mit Workbooks.Open
10.07.2013 09:43:57
kultnoob
Es funktioniert aber nur, solange ich nach dem zweiten Haltepunkt mit F8 weiter klicke. Wenn ich mir 2 Haltepunkte setze und diese mit F5 durchklicke, überspringt er mir wieder die IF-Anweisung... Ergbit für mich keinen Sinn.
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige