Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Select vermeiden - Teil 2

Forumthread: Select vermeiden - Teil 2

Select vermeiden - Teil 2
Holger
Hallo Excelfreunde,
mit eurer Hilfe habe ich überall wo es möglich ist "select" entfernt. Aber in einem Makro komme ich nicht weiter. Hier versagen meine Anfängerkenntnisse. Ohne das "select" stoppt der Code bei der "AutoFill" -Anweisung.
Wie bekomme ich hier das "select" weg?
 With Sheets(ZZ)
.Select
With .Range("N14")
.FormulaR1C1 = "=DATE(YEAR(R1C12),MONTH(RC[-4]),DAY(RC[-4]))"
.AutoFill Destination:=Range("N14:N50"), Type:=xlFillDefault
End With
With .Range("O14")
.FormulaR1C1 = "=IF(YEAR(RC[-1])=YEAR(R1C12),RC[-1],"""")"
.AutoFill Destination:=Range("O14:O50"), Type:=xlFillDefault
End With
With .Range("P14")
.FormulaR1C1 = "=IF(ISERROR(RC[-1]),"""",RC[-1])"
.AutoFill Destination:=Range("P14:P50"), Type:=xlFillDefault
End With
.Range("P14:P50").Copy
Range("J14").PasteSpecial Paste:=xlValues
Application.CutCopyMode = False
With Range("a14:L50")
.Sort Key1:=Range("J14"), Order1:=xlAscending, Header:=xlNo, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
End With
With Range("J14:J50")
.Font.Bold = True
.NumberFormat = "dd/mm/"
End With
Range("L14:L50").Font.Bold = True
Range("N14:Q51").Clear
.Protect
End With
Gruß
Holger
Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Select vermeiden - Teil 2
20.05.2010 12:06:56
welga
Hallo,
eventuell musst du hinter Destination:= noch einen Punkt einfügen. Dann sollte das auch ganz ohne select gehen.
Versuch es mal.
gruß
welga
und nicht nur da
20.05.2010 12:11:20
Rudi
Hallo,
vor alle Bereiche, die sich auf Sheets(ZZ) beziehen muss ein . (Punkt)
Sonst geht's auf's aktive Blatt.
Gruß
Rudi
Anzeige
AW: und nicht nur da
20.05.2010 12:28:24
Holger
Hallo Rudi,
ich habe jetzt vor alle "Range" einen Punkt gesetzt und das "Select" weggelassen. Der Code stoppt trotzdem bei der ersten "AutoFill" -Anweisung.
    With Sheets(ZZ)
With .Range("N14")
.FormulaR1C1 = "=DATE(YEAR(R1C12),MONTH(RC[-4]),DAY(RC[-4]))"
.AutoFill Destination:=.Range("N14:N50"), Type:=xlFillDefault
End With
With .Range("O14")
.FormulaR1C1 = "=IF(YEAR(RC[-1])=YEAR(R1C12),RC[-1],"""")"
.AutoFill Destination:=.Range("O14:O50"), Type:=xlFillDefault
End With
With .Range("P14")
.FormulaR1C1 = "=IF(ISERROR(RC[-1]),"""",RC[-1])"
.AutoFill Destination:=.Range("P14:P50"), Type:=xlFillDefault
End With
.Range("P14:P50").Copy
.Range("J14").PasteSpecial Paste:=xlValues
Application.CutCopyMode = False
With .Range("a14:L50")
.Sort Key1:=.Range("J14"), Order1:=xlAscending, Header:=xlNo, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
End With
With .Range("J14:J50")
.Font.Bold = True
.NumberFormat = "dd/mm/"
End With
.Range("L14:L50").Font.Bold = True
.Range("N14:Q51").Clear
.Protect
End With
Gruß
Holger
Anzeige
ohne AutoFill
20.05.2010 12:32:51
Rudi
Hallo,
Machs so:
    With Sheets(ZZ)
.Range("N14:N50").FormulaR1C1 = "=DATE(YEAR(R1C12),MONTH(RC[-4]),DAY(RC[-4]))"
.Range("O14:O50").FormulaR1C1 = "=IF(YEAR(RC[-1])=YEAR(R1C12),RC[-1],"""")"
.Range("P14:P50").FormulaR1C1 = "=IF(ISERROR(RC[-1]),"""",RC[-1])"
.Range("P14:P50").Copy
.Range("J14").PasteSpecial Paste:=xlValues
Application.CutCopyMode = False
With .Range("a14:L50")
.Sort Key1:=.Range("J14"), Order1:=xlAscending, Header:=xlNo, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
End With
With .Range("J14:J50")
.Font.Bold = True
.NumberFormat = "dd/mm/"
End With
.Range("L14:L50").Font.Bold = True
.Range("N14:Q51").Clear
.Protect
End With

Anzeige
Fast Perfekt
20.05.2010 12:55:03
Holger
Danke Rudi,
läuft gut und verkürzt zudem den Code um einiges!
Aber trotzdem noch eine Frage:
Wenn das Makro abgelaufen ist, bleibt immer der Bereich J4:J50 markiert. Wie kann ich das verhindern?
Gruß
Holger
AW: Fast Perfekt
20.05.2010 13:11:13
Rudi
Hallo,
geht nur so:
With .Range("A1")
.copy
.pastespecial xlpasteformats
end with
Application.cutcopymode=false
Gruß
Rudi
Anzeige
Danke für den Trick!
20.05.2010 13:53:41
Holger
Hallo Rudi,
dann kann ich diesen "Trick" auch dazu benutzen, um eine bestimmte Zelle ohne "select" zu markieren.
Gruß
Holger
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige