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

Vereinfachung des Codes

Vereinfachung des Codes
06.06.2013 15:49:18
Toumas
Hallo zusammen,
ich habe mir gerade etwas gebastelt (die meisten von euch würden vermutlich graue Haare deswegen bekommen *g*) um mir aus einer anderen Datei aus unterschiedlichen Datenblättern werte rauszukopieren....
In der Datei, gibt es je Monat ein Blatt in dem die Werte stehen.
Ich öffne mir per Makro die Datei und dann,für jedes Blatt, habe ich mir folgende Lösung gestrickt :
With Sheets("Sep_13")
Workbooks("XXXXXXXXX.xlsm").Sheets("Sep_13").Range("AJ108:Bm108").Copy
Workbooks("YYYYYYYYY.xlsm").Sheets("Hilfsblatt").Range("c18").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
End With
Funktioniert auch einwandfrei..... (ja ich weiß, keine tolle Lösung ;-) )
Bei 12 Monaten auch sicherlich nicht wirklich schön anzusehen....
Nun würde ich gern den Code entsprechend vereinfachen, da es schon recht störend ist, dass er mir immer schön "anzeigt" wo er gerade rumspringt und das (Anfänger-typische) "Flackern" entsteht.
Das Problem für mich ist, dass die Zeilen, in denen die Werte stehen fast immer unterschiedlich sind (also mal wie oben AJ108:BM108, dann mal AK104:BO104...usw.)
Kann mir jemand bitte ein Tipp geben, wie ich es vermeiden kann, dass mir Excel durch die "wilde" Kopiererei flackert ?
Vielen Dank im Voraus.
Viele Grüße
Toumas

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
ScreenUpdating: False / True
06.06.2013 15:59:10
Matthias
Hallo
Probiers mal so
On Error GoTo Fehler
Application.ScreenUpdating = False
With Sheets("Sep_13")
Workbooks("XXXXXXXXX.xlsm").Sheets("Sep_13").Range("AJ108:Bm108").Copy
Workbooks("YYYYYYYYY.xlsm").Sheets("Hilfsblatt").Range("c18").PasteSpecial Paste:= _
xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
Fehler:
Application.ScreenUpdating = True
End With
Gruß Matthias

AW: ScreenUpdating: False / True
06.06.2013 16:08:31
Toumas
Hallo Matthias,
erst mal danke für die Antwort.
Habe es mal versucht....
Er springt mir jetzt zwar nicht mehr in den einzelnen Reitern rum, dafür zeigt er mir jetzt den Dezember (ich vermute mal die letzte Ansicht unter der es abgespeichert wurde) an.
Kann man das auch unterbinden, also dass er mir die Datei, aus der ich die Daten hole, gar nicht anzeigt ?
Ist aber schon mal wesentlich besser als vorher.
P.S. Auf Antworten kann ich leider erst Morgen antworten. Muss erst mal Sand schauffeln gehen.

Anzeige
AW: ScreenUpdating: False / True
06.06.2013 16:23:49
Matthias
Hallo
Eine konkrete Antwort kann ich Dir da nicht geben.
Ich kenne ja nur diesen Codeauschnitt.
Übrigens:
With Sheets("Sep_13")
'.. Dein Code
End With

kannst Du eigentlich auch weglassen, wenn Du es im Code dann nicht benötigst.
P.S. das Du Sand schaufeln gehst, finde ich gut!
Gruß Matthias

AW: ScreenUpdating: False / True
07.06.2013 08:36:11
Toumas
Guten Morgen,
der ganze Code sieht so aus :
Sub Zeiten_kopieren()
MsgBox " ! Das öffnen und kopieren der Daten kann etwas Zeit beanspruchen, bitte Geduld haben !  _
Application.ScreenUpdating = False
If Dir("\\AAAAA\BBBBB\CCCCC\DDDDD\EEEEE\FFFFF\XXXXXXX.xlsm ") = "" Then
MsgBox ("Datei wurde nicht gefunden ?")
End If
Workbooks.Open Filename:= _
"\\AAAAA\BBBBB\CCCCC\DDDDD\EEEEE\FFFFF\XXXXXXX.xlsm"
With Sheets("Jan_13")
Workbooks("XXXXXX.xlsm").Sheets("Jan_13").Range("AK60:BO60").Copy
Workbooks("YYYYYYY.xlsm").Sheets("Hilfsblatt").Range("C36").PasteSpecial Paste:= _
xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
End With
( hier immer dann der gleiche Code nur für die unterschiedlichen Tabellenblätter (Feb_13 -  _
Dez_13)
Application.ScreenUpdating = True
End Sub

Viele Grüße
Toumas

Anzeige
AW: ScreenUpdating: False / True
07.06.2013 17:30:01
Matthias
Hallo
Versteh ich nicht.
If Dir("\\AAAAA\BBBBB\CCCCC\DDDDD\EEEEE\FFFFF\XXXXXXX.xlsm") = "" Then
MsgBox ("Datei wurde nicht gefunden ?")
End If
Workbooks.Open Filename:="\\AAAAA\BBBBB\CCCCC\DDDDD\EEEEE\FFFFF\XXXXXXX.xlsm"
Erst gibst Du ne Meldung raus das die Datei nicht existiert,
unmittelbar dannach willst Du sie aber öffnen?
Gruß Matthias

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige