Thema Datum  Von Nutzer Rating
Antwort
Rot Tabelle mit Leerzellen durch Tastenkombi bereinigen
03.11.2018 20:11:45 marc4791
NotSolved
03.11.2018 22:47:00 Werner
NotSolved
03.11.2018 23:06:39 marc4791
NotSolved
03.11.2018 23:25:16 marc4791
NotSolved

Ansicht des Beitrags:
Von:
marc4791
Datum:
03.11.2018 20:11:45
Views:
1008
Rating: Antwort:
  Ja
Thema:
Tabelle mit Leerzellen durch Tastenkombi bereinigen

Hallo liebe Helfende!

Ich bin Neuling in VBA und versuche mal mein Problem verständlich zu beschreiben.

Ich muss eine xlsm-Datei neu machen, weil die alte total zerschossen war.

Nun habe ich eine Tabelle in der in 4 Spalten (eine für jeden Arbeitsbereich) die Namen der Mitarbeiter je Bereich eingefügt werden. Da die Quell-Tabelle 100 Zeilen umfasst (und NICHT geändert werden darf), aber nur ca 40 Mitarbeiter vorhanden sind, gibt es in der Ziel-Tabelle viele Leerzellen. Die Ziel-Tabelle konnte in der alten Datei (übrigens 2002 erstellt) durch drücken von Strg+O bereinigt werden, heisst, alle Mitarbeiter wurden untereinander sortiert und dann erst die Leerzellen. Also erst Name - frei - frei - Name - frei, dann Name - Name - frei - frei - frei.

Den Code habe ich aus der alten Datei kopiert - und funktioniert nicht in der neuen. Im MS VBA-Editor komme ich über "Debuggen" - "Ausführen bis Cursor-Position" zwar an mein Ziel, ist aber nicht Sinn und Zweck.

Ich hoffe, es verständlich 'rüber gebracht zu haben.

Und nun der Code:

Sub Makro3()
'
' Makro3 Makro
' Namen sortieren
'
' Tastenkombination: Strg+o
'
    Range("D14:D33").Select
    ActiveWorkbook.Worksheets("Kurszettel").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Kurszettel").Sort.SortFields.Add Key:=Range( _
        "D14"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:= _
        xlSortNormal
    With ActiveWorkbook.Worksheets("Kurszettel").Sort
        .SetRange Range("D14:D33")
        .Header = xlGuess
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
    Range("E14:E33").Select
    ActiveWorkbook.Worksheets("Kurszettel").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Kurszettel").Sort.SortFields.Add Key:=Range( _
        "E14"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:= _
        xlSortNormal
    With ActiveWorkbook.Worksheets("Kurszettel").Sort
        .SetRange Range("E14:E33")
        .Header = xlGuess
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
    Range("F14:F33").Select
    ActiveWorkbook.Worksheets("Kurszettel").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Kurszettel").Sort.SortFields.Add Key:=Range( _
        "F14"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:= _
        xlSortNormal
    With ActiveWorkbook.Worksheets("Kurszettel").Sort
        .SetRange Range("F14:F33")
        .Header = xlGuess
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
    Range("G14:G33").Select
    ActiveWorkbook.Worksheets("Kurszettel").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Kurszettel").Sort.SortFields.Add Key:=Range( _
        "G14"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:= _
        xlSortNormal
    With ActiveWorkbook.Worksheets("Kurszettel").Sort
        .SetRange Range("G14:G33")
        .Header = xlGuess
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
    Range("H14:H33").Select
    ActiveWorkbook.Worksheets("Kurszettel").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Kurszettel").Sort.SortFields.Add Key:=Range( _
        "H14"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:= _
        xlSortNormal
    With ActiveWorkbook.Worksheets("Kurszettel").Sort
        .SetRange Range("H14:H33")
        .Header = xlGuess
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
End Sub

Vielen Dank im voraus für Eure Hilfe!


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot Tabelle mit Leerzellen durch Tastenkombi bereinigen
03.11.2018 20:11:45 marc4791
NotSolved
03.11.2018 22:47:00 Werner
NotSolved
03.11.2018 23:06:39 marc4791
NotSolved
03.11.2018 23:25:16 marc4791
NotSolved