Neuling69 0 Geschrieben 8. September 2016 Melden Teilen Geschrieben 8. September 2016 Moin leute ich hoffe das ihr mir helfen könnt. Ich habe 2 Fragen eine geht um Spalten Sortierung und die andere Frage ist den Mappennamen unten links ändern. Ich habe mal Fotos an anhang wie ich es gerne mal haben möchte und hoffe das ihr mir helfen könnt. Achja fall es entscheiden ist in Spalte B1 ist die Überschrift Prozent habe ich vergessen. $condition = $ws.Range("B:B").FormatConditions.Add(1, 3, "100")$condition.Interior.Color = 65280 # Grün$condition = $ws.Range("B:B").FormatConditions.Add(1, 3, "[0-50]")$condition.Interior.Color = 255 # Rot für hell orange suche ich noch den Farbcode Danke für eure zeit und Ideen. Zitieren Link zu diesem Kommentar
Cybquest 36 Geschrieben 8. September 2016 Melden Teilen Geschrieben 8. September 2016 (bearbeitet) Den Mappennamen ändern: $ws.Name = "Neuer Name" Orange: so um 16753920 rum (Hex FFA500 Quelle: http://www.dauerstress.de/homepagehilfe/farbcode.php) bearbeitet 8. September 2016 von Cybquest Zitieren Link zu diesem Kommentar
Neuling69 0 Geschrieben 8. September 2016 Autor Melden Teilen Geschrieben 8. September 2016 Danke für die schnelle Hilfe kennst du dich auch aus wie ich das mit dem Sortieren hinbekomme. Zitieren Link zu diesem Kommentar
Sunny61 807 Geschrieben 8. September 2016 Melden Teilen Geschrieben 8. September 2016 Auszug aus http://www.herber.de/forum/archiv/1068to1072/1071286_Makro_fuer_aufsteigend_sortieren.html: Wenn in Zeile 2 die Überschrift ist soRange("A2:N266").Sort Range("B2"), xlAscending, , , , , , xlYesWenn in Zeile 2 nicht die Überschrift istRange("A2:N266").Sort Range("B2"), xlAscending, , , , , , xlNo Zitieren Link zu diesem Kommentar
Neuling69 0 Geschrieben 8. September 2016 Autor Melden Teilen Geschrieben 8. September 2016 Thx klappt super kann man es auch nehmen wenn nach Alphabet sortiert oder ist das rein für Zahlen? habe es mit dem Orange mal getestet und leider kommt dunkel Blau raus und auf vielen Seiten steht auch die gleiche Nr. Zitieren Link zu diesem Kommentar
Sunny61 807 Geschrieben 8. September 2016 Melden Teilen Geschrieben 8. September 2016 Thx klappt super kann man es auch nehmen wenn nach Alphabet sortiert oder ist das rein für Zahlen? Was glaubst Du? Probier es aus und Du wirst es wissen. Geht schneller als hier auf Antwort warten. Zusätzlicher Hinweis: Einfach in Excel den Makrorecorder starten, Aktionen aufzeichnen und über den Entwicklermodus das soeben erstellte Makro anschauen, hilft ungemein. :) habe es mit dem Orange mal getestet und leider kommt dunkel Blau raus und auf vielen Seiten steht auch die gleiche Nr. 65535 'Gelb oder 26367. Zitieren Link zu diesem Kommentar
Neuling69 0 Geschrieben 14. September 2016 Autor Melden Teilen Geschrieben 14. September 2016 Hab mal mein script reingestellt vielleicht findet ihr ja den Fehler, weil ich finde nix oder bin blind. Mein fehler ist das er nicht die beiden Spalten sortiert zuerst die erste nach Zahlen aufsteigend und im Anschluss die 2te Spalte nach dem Alphabet wenn die gleichen Zahlen vorher waren. # Quelldateien$quelle = 'D:\Excel\*.csv'# Zieldatei$ziel = "D:\Excel\.xlsx"# Excel Objekt$objExcel = New-Object -Com Excel.Application# platzhalter für leere Parameter$n = [system.Reflection.Missing]::Value# Neue Mappe öffnen$wb = $objExcel.Workbooks.Add()# Excel anzeigen$objExcel.Visible = $true# Meldungen abschalten$objExcel.DisplayAlerts = $false# Ale CSV-Dateien des Ordners in ein neues Sheet importieren#initiale Anzahl an sheets speichern$initcount = [int]$wb.Worksheets.Countgci $quelle -File | sort CreationTime -Descending | select -First 4 | %{$ws = $wb.Worksheets.Add($n,$wb.Worksheets.Item($wb.Worksheets.Count),$n,$n)$qt = $ws.QueryTables.Add("TEXT;$($_.Fullname)",$ws.Range("A1"))$qt.Name = "Import"$qt.FieldNames = $true$qt.AdjustColumnWidth = $true$qt.TextFilePlatform = 1252$qt.TextFileStartRow = 1$qt.TextFileParseType = 1$qt.TextFileSemicolonDelimiter = $true$qt.Refresh($false)$qt.Delete()}# Excel anzeigen$ws = $wb.Sheets.Item(4)# Autofilter$ws.Range("A:Z").Autofilter(6,"=SRV")$ws.Range("A:Z").Autofilter(3,"=Abteilung") #CHECK# Format Conditions hinzufügen$condition = $ws.Range("P:P").FormatConditions.Add(1, 3, "100")$condition.Interior.Color = 65280 # Grün$condition = $ws.Range("P:P").FormatConditions.Add(1, 3, "0-49")$condition.Interior.Color = 255 # Rot #CHECK$condition = $ws.Range("P:P").FormatConditions.Add(1, 3, "50-99")$condition.Interior.Color = 65535 # Gelb#Spalten Sortieren von kleinsten zum höchstenRange("A2:N4266").Sort Range("N2"), xlAscending, , , , , , xlNoRange("A2:N4266").Sort Range("A2"), xlAscending, , , , , , xlNo#Name Mappe ändern$ws.Name = "S11" Zitieren Link zu diesem Kommentar
Sunny61 807 Geschrieben 14. September 2016 Melden Teilen Geschrieben 14. September 2016 Mir fehlt ein Speichern der Datei am Ende. Zitieren Link zu diesem Kommentar
Neuling69 0 Geschrieben 14. September 2016 Autor Melden Teilen Geschrieben 14. September 2016 # Datei speichern $wb.SaveAs($ziel) # Ressourcen freigeben [system.Runtime.InteropServices.Marshal]::ReleaseComObject($objExcel) meinst du das noch weil mehr habe ich zum schluss nicht Zitieren Link zu diesem Kommentar
Sunny61 807 Geschrieben 14. September 2016 Melden Teilen Geschrieben 14. September 2016 Ja, das meinte ich. Wird denn auch eine Änderung gespeichert? Sieht man am neueren Datum. Tipp für das Debuggen. Mit der ISE kannst Du mit Hilfe von F11 Zeile für Zeile Code ausführen lassen. In der zweiten Zeile mit F9 einen Haltepunkt setzen, mit F5 bis dorthin, jetzt mit F11 Zeile für Zeile durchlaufen. Gleichzeitig Excel sichtbar schalten und immer schön prüfen was wann passiert. Zitieren Link zu diesem Kommentar
Neuling69 0 Geschrieben 14. September 2016 Autor Melden Teilen Geschrieben 14. September 2016 (bearbeitet) Das Script ist über ISE geschrieben. Bei mir ist F5 aufführen und F8 Auswahl ausführen. Wie würdest du den mein Script schreiben oder ändern Und hatte nochmal geschaut zum Sortieren musste ich es etwas umbauen, weil der Link den mir gegeben hast leider nur für Makros ist $ws.Range("A2:N5100").Sort($ws.Range("N2"), $xlAscending) bearbeitet 14. September 2016 von Neuling69 Zitieren Link zu diesem Kommentar
Cybquest 36 Geschrieben 14. September 2016 Melden Teilen Geschrieben 14. September 2016 (bearbeitet) Für mich fehlt einfach bei der Sortiermimik das $ws vor "Range..." :-) Statt Range("A2:N4266").Sort Range("N2"), xlAscending, , , , , , xlNo $ws.Range("A2:N4266").Sort $ws.Range("N2"), xlAscending, , , , , , xlNo bearbeitet 14. September 2016 von Cybquest Zitieren Link zu diesem Kommentar
Sunny61 807 Geschrieben 14. September 2016 Melden Teilen Geschrieben 14. September 2016 Das Script ist über ISE geschrieben. Bei mir ist F5 aufführen und F8 Auswahl ausführen. Wie würdest du den mein Script schreiben oder ändern Wenn das eine Frage sein soll, dann fehlt das passende Satzendezeichen. In diesem deinen Fall ein ?-Zeichen. Ich würde das in VB.Net oder VBA schreiben. Hast Du denn das Script Zeilenweise manuell durchlaufen lassen? Wenn Du natürlich Fehlermeldungen deaktivierst, ist das nicht besonders hilfreich. Du kopierst dir Code von irgendwo in dein Script ohne ihn zu verstehen, so kommt mir das vor. Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.