Clever-Excel-Forum

Normale Version: Makro läuft auf einem PC nicht
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,

ich habe einen Tagesdienstplan, den ich nach verschiedenen Optionen sortieren kann.

Wir haben auf allen Rechnern Office 2016 Standard und auf einem Office 2016 Home and Business.

Bei dem PC mit Home and Business funktionieren die Makros nicht, da meckert er immer, dass alle Zeilen
die gleiche Größe haben müssen.

Bei allen anderen PCs funktionieren die Makros tadellos.
Gibt es eventuell eine Einstellung, die ich auf dem neuen PC ändern muss?

Anbei die Datei mit den Makros.

Vielen Dank im Voraus für das Anschauen.

Viele Grüße
Andreas
Hallöchen,

in welchem Makro und welcher Codezeile kommt die Meldung?
Hallo,

der Fehler kommt z.B. beim Makro "Nach Zeit Sortiert" und beim Debuggen wird die Zeile .Apply gelb markiert.
Es geht auf allen PCs, nur auf dem PC nicht, der Home and Business drauf hat, ich könnte verzweifeln.

Gruß
Andreas
Hallöchen,

löse die Verbindung in E4, markiere die beiden Zellen E4 und F4 und nutze Zentriert über Markierung.
Hilft leider auch nicht.

Sowohl Office 2019, als auch Office 2013 und Office 2016 in der Standard Version bearbeiten das Makro trotz verbundener Zellen,
lediglich Office 2016 Home and Business bricht dann immer mit einer Fehlermeldung ab und markiert die Stelle, an der .Apply kommt.

Range("A5:f100").Select
    ActiveWorkbook.Worksheets("Blomberg").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Blomberg").Sort.SortFields.Add Key:=Range("C5:C100" _
        ), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("Blomberg").Sort
        .SetRange Range("A5:f100")
        .Header = xlGuess
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With


Kann das die Version von Home and Business vielleicht einfach nur nicht?

Viele Grüße
Andreas
Hallo,

du hast verbundene Zellen im Zellbereich von F4 bis F100.
Löse den Zellverbund des kompletten Zellbereichs auf.

Bei mir, Excel 365, meckert er auch wegen der verbundenen Zellen.

Und der Code besser ohne Select.
Code:
Sub BloZeit()
Dim loLetzte As Long

With ThisWorkbook.Worksheets("Blomberg")
    loLetzte = .Cells(.Rows.Count, "C").End(xlUp).Row
    .Sort.SortFields.Clear
    .Sort.SortFields.Add Key:=.Range("C5:C" & loLetzte), _
    SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With .Sort
        .SetRange Range("A5:F" & loLetzte)
        .Header = xlGuess
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
End With
End Sub

Gruß Werner
Ok, zur Not werde ich das machen.

Aber wieso funktioniert es bei den anderen PCs?
Gibt es vielleicht eine Excel-Option, die noch angeflagt werden muss?

Viele Grüße
Andreas
Ja, diese Opotion heisst: verwende nie verbundene Zellen, kombiniert mit VBA.

Dann wirst du auch nie eine 'Not' erfahren.
Hallöchen,
Bei mir ist es unter 2019 auch nicht gelaufen. Bei dem einen Blatt waren nur oben die beiden Zellen verbunden. Kann es sein dass auf den verschiedenen PC verschiedene Dateien liegen wo die einzelnen User Ihrer Kreativität freien Lauf lassen? Ansonsten, wenn Du eine Datei von Rechner zu Rechner trägst sollte überall das Gleiche passieren.
Hallo zusammen,

vielen Dank für die Hilfe.

Mittlerweile habe ich das Layout dahingehend geändert, dass ich auf die verbundenen Zeilen verzichte.
Seit dem läuft das Makro auf allen PCs.

Das Makro habe ich dahingehend geändert (vielen Dank an Norbert für den Hinweis!), dass es auf "select" verzichtet und das Ende der Tabelle automatisch ermittelt.
Außerdem habe ich das Makro nicht auf ein Blatt fixiert, sondern auf "activesheet" gesetzt, so dass ich anstatt für jedes neues Tabellenblatt ein neues (gleiches Makro, nur mit anderem Bezug) ein Makro nehme, was jeweils dann ausgeführt wird.

Vielen Dank erst einmal für eure Hilfe.

Andreas