AW: Hallo Profis - Widersprüche im Code !!!
02.03.2016 00:33:07
Piet
Hallo Marco + Profis
ich wollte in den Thread garnicht reingehen, habe nur zum SPASS das Makro geladen,
um es für Marco zu verkürzen. Dabei ist mir erstaunliches aufgefallen, was man erst
sehen kann wenn man den Code bereinigt und dadurch seine Grundstruktur versteht
Das war für mich so verblüffend das ich den Thread noch einmal offen gestellt habe, damit
die wirklich guten Programmierer sich den -gekürzten Code- noch einmal ansehen können.
Wir sprechen hier von zwei For Next Schleifen die m.E. völlig überflüssig sind !!
Kopiert wird in den Tageszeitungen mit: Range("D" & ActiveCell.Row).Copy
aber die Active Zelle wird, wenn ich das richtig sehe - nie veraendert?
Und kopiert wird im Blatt "GSVorlage" immer in -dieselbe Zielzelle-
Dazu wird jedesmal der Bereich neu formatiert. Wer veraendert ihn denn?
Bin ich schon zu alt zum Programmieren, oder ist das Programm "seltsam"
Dieser Befehl ist mir nicht bekannt, vielleicht verschiebt er ja Zeilen?
Range("F3:F5").InsertIndent -1
Damit verschiebt er aber nicht die ActiveCell.Row im Blatt "Tageszeitung"
Wüsste man welche Zeile damit gemeint ist könnte man auf den ganzen Quatsch
mit ActiveCell.Row verzichten und ohne Sheets("Tageszeitung").Select kopieren.
Komisch ist dass das Programm vor dem aendern ja gelaufen haben soll!
Aber wenn ich mir den Code so ansehe komme ich da echt ins grübeln?
mfg Piet
'Zusammengefastes Programm (ohne Sheet().Select)
Sub KopierenDruck()
'(ohne Dim Zeilen)
Anzahl = Range("C" & ActiveCell.Row).Value
Startzeile = Cells(1, 9).Value
Endzeile = Cells(2, 10).Value
For z = Startzeile To Endzeile
For a = 1 To Anzahl
Sheets("GS-Vorlage").Range("E5").Value = a
Sheets("Tageszeitungen").Select
'"Tageszeitungen" kopieren
Range("D" & ActiveCell.Row).Copy
'in Sheets("GS-Vorlage") kopieren
Sheets("GS-Vorlage").Range("F3").PasteSpecial xlAll
'"Tageszeitungen" kopieren
Range("A" & ActiveCell.Row).Copy
'in Sheets("GS-Vorlage") kopieren
Sheets("GS-Vorlage").Range("F4").PasteSpecial xlAll
'"Tageszeitungen" kopieren
Range("E" & ActiveCell.Row).Copy
'in Sheets("GS-Vorlage") kopieren
Sheets("GS-Vorlage").Range("F5").PasteSpecial xlAll
Sheets("GS-Vorlage").Range("F3:F5").InsertIndent -1
'Formatierung rausgenommen, völlig überflüssig !!
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False
Next a
Sheets("Tageszeitungen").Select
Next z
End Sub
'Extra Programm zum formatieren
Sub GSVorlage_Font_formatieren()
With Sheets("GS-Vorlage").Range("F3:F5").Font
.Name = "Century Gothic"
.Size = 12
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ThemeColor = xlThemeColorDark1
.TintAndShade = -0.349986266670736
.ThemeFont = xlThemeFontMinor
'2. Teil aus Selection Font
.Italic = False
.Font.Bold = True
.ColorIndex = xlAutomatic
.TintAndShade = 0
End With
End Sub