Hallo nochmal.
Vielen Dank schon mal für deine Antwort.
Ich probiere nun mal weiter auszuholen.
Ich möchte aus einem 2 Tabellenblatt PersonalDaten in das Tabellenblatt "Geburtstagsliste" kopieren um dann dort diese Daten nach dem nächsten kommenden Geburtstag zu sortieren. Diese Daten werden dann später noch in einer Userform bei jedem Start angezeigt.In Spalte c ist das Geburtsdatum des MA und in Spalte D über eine Formel wann der nächste Geburtstag ansteht.
Nun hier der Code wie er auf meinem Rechner steht und auch funktioniert:
Worksheets("Geburtstag").Activate
Range("A2").Select
ActiveCell.FormulaR1C1 = "='Personal-aktuell'!R[1]C[3]"
Range("B2").Select
ActiveCell.FormulaR1C1 = "='Personal-aktuell'!R[1]C[3]"
Range("C2").Select
ActiveCell.FormulaR1C1 = "='Personal-aktuell'!R[1]C[9]"
Range("A2:C2").Select
Selection.AutoFill Destination:=Range("A2:C100"), Type:=xlFillDefault
Range("A2:C100").Select
Selection.Copy
Range("A2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("A1:e100").Select
ActiveWindow.SmallScroll Down:=-105
Application.CutCopyMode = False
ActiveWorkbbok.worksheets("Geburtstag").Sort.Sortfields.clear
ActiveWorkbook.worksheets("Geburtstag").Sort.sortfields.Add Key:=Range("D2:D400"), SortOn:=x1SortOnValues, Order:=x1Ascending, DataOption:=x1SortNormal
With ActiveWorkbook.Worksheets("Geburtstag").Sort
.SetRange Range("A1:E400")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End
Auf einem anderen Rechner mit eben den gleichen Vorraussetzungen kommt folgender Code wenn ich versuche hier ein ähnliches Makro zu schreiben. (Die Daten rüber kopieren habe ich mal weggelassen!)
Range("A1:E100").Select
Name.DisplayRightToLeft("Geburtstag")...DupeUnique
Name.DisplayRightToLeft("Geburtstag")...ActiveSheet := Range("D2:D100"), Type _
:= xlSortOnValues, SortOn := xlAscending, := xlSortNormal
With Name.DisplayRightToLeft("Geburtstag").
.Range ("A1:E100")
. = xlYes
. = FALSE
. = xlTopToBottom
. = xlPinYin
.
End With
Range("G22").Select
End Sub
Diese Fehlermeldung kommt wenn ich das Makro auf dem 2 Rechner ausführe.
Ich habe keine Ahnung warum hier zwei verschiede Codes für ein und dasselbe Vorgegehen genutzt werden. Und wie kann ich das beheben.
Vielen Dank schon mal!
|