none
Spalten Sortieren per Powershell RRS feed

  • Frage

  • brauche eine kurze Hilfe und komme gerade nicht weiter hoffe das ihr mir helfen könnt.

    würde sehr gerne Spalte D sortieren das die kleinste Zahl oben steht und die größte zahl unten.

    Vorher

    Nachher

    danke für die Hilfe und Zeit

    Donnerstag, 25. August 2016 07:37

Antworten

  • 1 Minute googlen...

    function Release-Ref ($ref) { 
        ([System.Runtime.InteropServices.Marshal]::ReleaseComObject( 
        [System.__ComObject]$ref) -gt 0) 
        [System.GC]::Collect() 
        [System.GC]::WaitForPendingFinalizers() 
    } 
    $objExcel = new-object -comobject excel.application 
    $objExcel.Visible = $True 
    $objWorkbook = $objExcel.Workbooks.Open("Dein Pfad")
    $objWorksheet = $objWorkbook.Worksheets.Item(1) 
    
    $objRange = $objWorksheet.UsedRange 
    $objRange2 = $objworksheet.Range("A2","D7") #Hier gibst du dann deine Range an
    [void] $objRange.Sort($objRange2) 
    $objWorkbook.Save()
    $a = Release-Ref($objWorksheet) 
    $a = Release-Ref($objWorkbook) 
    $a = Release-Ref($objExcel)

    Bei dem Kommentar musst du dann deine Range angeben, wobei ich das schon für dich gemacht habe.

    Liebe Grüße

    -Lars


    Donnerstag, 25. August 2016 08:02
  • Hallo,

    wenn die Daten als CSV Datei vorliegen.

    Ort,Domaine,Name,Auslastung in %
    Bremen,kweo03,Verwaltung1,60
    Dortmund,bmwzz21,Verkauf1,80
    Berlin,bmsx02,Mitarbeiter1,1

    z.b.: so:

    PS E:\scripte> $a = Import-Csv zzz.csv
    PS E:\scripte> $a
    
    Ort      Domaine Name         Auslastung in %
    ---      ------- ----         ---------------
    Bremen   kweo03  Verwaltung1  60
    Dortmund bmwzz21 Verkauf1     80
    Berlin   bmsx02  Mitarbeiter1 1
    
    
    PS E:\scripte> $a | sort-object 'Auslastung in %'
    
    Ort      Domaine Name         Auslastung in %
    ---      ------- ----         ---------------
    Berlin   bmsx02  Mitarbeiter1 1
    Bremen   kweo03  Verwaltung1  60
    Dortmund bmwzz21 Verkauf1     80

    Beste Gruesse

    brima

    Donnerstag, 25. August 2016 08:02

Alle Antworten

  • 1 Minute googlen...

    function Release-Ref ($ref) { 
        ([System.Runtime.InteropServices.Marshal]::ReleaseComObject( 
        [System.__ComObject]$ref) -gt 0) 
        [System.GC]::Collect() 
        [System.GC]::WaitForPendingFinalizers() 
    } 
    $objExcel = new-object -comobject excel.application 
    $objExcel.Visible = $True 
    $objWorkbook = $objExcel.Workbooks.Open("Dein Pfad")
    $objWorksheet = $objWorkbook.Worksheets.Item(1) 
    
    $objRange = $objWorksheet.UsedRange 
    $objRange2 = $objworksheet.Range("A2","D7") #Hier gibst du dann deine Range an
    [void] $objRange.Sort($objRange2) 
    $objWorkbook.Save()
    $a = Release-Ref($objWorksheet) 
    $a = Release-Ref($objWorkbook) 
    $a = Release-Ref($objExcel)

    Bei dem Kommentar musst du dann deine Range angeben, wobei ich das schon für dich gemacht habe.

    Liebe Grüße

    -Lars


    Donnerstag, 25. August 2016 08:02
  • Hallo,

    wenn die Daten als CSV Datei vorliegen.

    Ort,Domaine,Name,Auslastung in %
    Bremen,kweo03,Verwaltung1,60
    Dortmund,bmwzz21,Verkauf1,80
    Berlin,bmsx02,Mitarbeiter1,1

    z.b.: so:

    PS E:\scripte> $a = Import-Csv zzz.csv
    PS E:\scripte> $a
    
    Ort      Domaine Name         Auslastung in %
    ---      ------- ----         ---------------
    Bremen   kweo03  Verwaltung1  60
    Dortmund bmwzz21 Verkauf1     80
    Berlin   bmsx02  Mitarbeiter1 1
    
    
    PS E:\scripte> $a | sort-object 'Auslastung in %'
    
    Ort      Domaine Name         Auslastung in %
    ---      ------- ----         ---------------
    Berlin   bmsx02  Mitarbeiter1 1
    Bremen   kweo03  Verwaltung1  60
    Dortmund bmwzz21 Verkauf1     80

    Beste Gruesse

    brima

    Donnerstag, 25. August 2016 08:02
  • danke das hilft mir sehr
    Donnerstag, 25. August 2016 09:14
  • Ich brauche eigentlich genau das gleiche, was ich aber nicht verstehe. Das es bei mir nicht funktioniert.

    Ich hab diese Tabelle:

    und würde gerne ab A3 sortieren bis A11

    function Release-Ref ($ref) { 
        ([System.Runtime.InteropServices.Marshal]::ReleaseComObject( 
        [System.__ComObject]$ref) -gt 0) 
        [System.GC]::Collect() 
        [System.GC]::WaitForPendingFinalizers() 
    } 
    $objExcel = new-object -comobject excel.application 
    $objExcel.Visible = $True 
    $objWorkbook = $objExcel.Workbooks.Open("D:\Powershell\Testdaten\TEST.xlsx")
    $objWorksheet = $objWorkbook.Worksheets.Item(1) 
    
    $objRange = $objWorksheet.UsedRange 
    $objRange2 = $objworksheet.Range("A3","A11") #Hier gibst du dann deine Range an
    [void] $objRange.Sort($objRange2) 
    $objWorkbook.Save()
    $a = Release-Ref($objWorksheet) 
    $a = Release-Ref($objWorkbook) 
    $a = Release-Ref($objExcel)
    Leider funktioniert das ganze nicht, kann mir wer helfen?

    • Bearbeitet hRoICE Freitag, 8. Juni 2018 07:53
    Freitag, 8. Juni 2018 07:53
  • Die Frage hast du doch schon hier gestellt:

    https://social.technet.microsoft.com/Forums/de-DE/6ae5b255-0c94-4752-baad-a4cf788e5492/mit-powershell-in-excel-den-filter-erneut-anwenden?forum=powershell_de

    Freitag, 8. Juni 2018 08:38
  • Bitte keine alten Threads ausgraben.


    Blog: http://bytecookie.wordpress.com

    Kostenloser Powershell Code Manager v5: Link
    (u.a. Codesnippets verwalten + komplexe Scripte graphisch darstellen)

    Hilf mit und markiere hilfreiche Beiträge mit dem "Abstimmen"-Button (links) und Beiträge die eine Frage von dir beantwortet haben, als "Antwort" (unten).
    Warum das Ganze? Hier gibts die Antwort.

    Freitag, 8. Juni 2018 08:45
    Moderator
  • Sorry, ich suche halte verzweifelt nach Hilfe und dachte das derjenige der hier das Ergebnis geliefert hat auch mir Helfen kann.

    Freitag, 8. Juni 2018 10:51
  • Nur dass dieser Beitrag hier die Lösung über Powershell und nicht Excel durchführt.
    Freitag, 8. Juni 2018 11:19