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

Wait-Befehl nach Öffnen einer Datei

Wait-Befehl nach Öffnen einer Datei
14.05.2009 11:05:07
Rico
Hallo Zusammen
Es soll eine Wertekopie in eine andere zu Öffnende Arbeitsmappe eingefügt werden. Per Einzelschritt funktioniert die Befehlskette, allerdings nicht, wenn es über den CommandButton aufgerufen wird. Ich denke das die zu Öffnende Datei noch nicht bereit ist um den nächsten Befehl aus zu führen.
Wie baue ich denn da eine Wartezeit ein. Also vor Cells.Select
Für Infos wäre ich sehr dankbar
Gruß
Rico

Private Sub CommandButton1_Click()
Workbooks.Open Filename:="I:\XXXXXXX\XX ÜBERSICHT 2009.xls"
Cells.Select
Selection.Delete Shift:=xlUp
Range("A1").Select
Windows("Neue Mappe 2009.xls").Activate
Cells.Select
Selection.Copy
Windows("XX ÜBERSICHT 2009.xls").Activate
Cells.Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Range("F4").Select
ActiveWindow.FreezePanes = True
Application.CutCopyMode = False
ActiveWorkbook.Save
ActiveWindow.Close
Range("A1").Select
End Sub


3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Wait-Befehl nach Öffnen einer Datei
14.05.2009 11:10:20
Hajo_Zi
Hallo Rico,
Excel ist ein vielseitiges Programm und man kann viele Probleme damit lösen. Jede positive Seite hat aber auch negative Aspekte - einer davon ist im Makrorecorder enthalten.
Die Bücher, die es zu Excel VBA gibt, erklären viele Funktionen, aber ich habe bisher nur in einem gelesen, dass der vom Makrorecorder aufgezeichnete Code bereinigt werden sollte.
Der Makrorecorder zeichnet alle Aktionen auf, u. a. auch das Auswählen einer Zelle oder eines eingebetteten Objektes (Bild, Diagramm, Zeichnungsobjekt usw.) dabei wird generell Select und Activate aufgezeichnet. Diese Befehle sind in VBA zu 99,9% nicht notwendig. Sie lassen den Bildschirm flackern und senken die Geschwindigkeit bei der Ausführung des Codes. Man sollte also schon von Beginn an bei der Programmierung darauf achten, solche Befehle zu vermeiden. Meine Erfahrung mit dem Vorsatz: Das mache ich später ist, man schreibt das Programm später meist komplett neu. Also kostest es nicht nur Rechnerzeit sondern auch Deine Zeit und ist Dir Deine Zeit so wenig Wert?
Zum Vergleich mit und ohne Select schau Dir auch mal diese Beispielarbeitsmappe an: mit und ohne select Auf meiner Homepage sind alle meine Beispiele ohne Select. Da kann man sich also einige Lösungsansätze zu diesem Thema ansehen.

Option Explicit
Private Sub CommandButton1_Click()
Workbooks.Open Filename:="I:\XXXXXXX\XX ÜBERSICHT 2009.xls"
Cells.Delete Shift:=xlUp
Windows("Neue Mappe 2009.xls").CellsCopy
With Windows("XX ÜBERSICHT 2009.xls")
.Cells.PasteSpecial Paste:=xlPasteValues
.Cells.PasteSpecial Paste:=xlPasteFormats
End With
ActiveWindow.FreezePanes = True
Application.CutCopyMode = False
ActiveWorkbook.Close True
End Sub



Anzeige
AW: Wait-Befehl nach Öffnen einer Datei
15.05.2009 11:10:33
Rico
Hallo Hajo
Das mag ja alles so sein, aber wenn man nicht programmieren kann ist man erstmal auf den Recorder angewiesen. Ich wollte mich allerdings eh mal näher mit dem Thema beschäftigen. Kannst du irgendwas an Litertur empfehlen, um in dieses Thema reinzukommen ?
Allerdings habe ich mein grundsätzliches Problem immer noch. Mit Deinem modifizierten Code kommt es immer zu einem Laufzeitfehler 438.
Gruß
Rico
AW: Wait-Befehl nach Öffnen einer Datei
15.05.2009 11:18:23
Hajo_Zi
Halo Rico,
kein Ansatz.
Das zwischen Cells und Copy ein Punkt fehlt ist Dir bestimmt aufgefallen?
Gruß Hajo
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige