Neuling69
-
Gesamte Inhalte
11 -
Registriert seit
-
Letzter Besuch
Beiträge erstellt von Neuling69
-
-
# Datei speichern$wb.SaveAs($ziel)
# Ressourcen freigeben
[system.Runtime.InteropServices.Marshal]::ReleaseComObject($objExcel)meinst du das noch weil mehr habe ich zum schluss nicht
-
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.Count
gci $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öchsten
Range("A2:N4266").Sort Range("N2"), xlAscending, , , , , , xlNo
Range("A2:N4266").Sort Range("A2"), xlAscending, , , , , , xlNo
#Name Mappe ändern
$ws.Name = "S11" -
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.
-
Danke für die schnelle Hilfe
kennst du dich auch aus wie ich das mit dem Sortieren hinbekomme.
-
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 # Rotfür hell orange suche ich noch den Farbcode
Danke für eure zeit und Ideen.
-
Kann mir jemand vielleicht sagen wo mein Fehler ist.
Eigentlich sollte er Spalte F ausschneiden und in Spalte A einfügen und das was in Spalte A ist sollte weiter rücken nach rechts in Spalte B usw.
$yourworksheetobject.Range("F:F").Cut()
$yourworksheetobject.Range("A:A").Insert(-4161)
-
Habe es jetzt ne weile Probiert aber leider kommt nicht das Ergebnis bei raus was ich haben möchte.
Möchte ja nicht nur die eine Zeile haben sondern die ganze Spalte verrücken von z.B. D in A .
Er überschreibt ja leider auch nur das was in Spalte A ist und möchte ja gerne das er es dann weiter schiebt nach rechts in Spalte B
-
danke für die zeit und mühe
-
ja die Seite kenne ich und wie soll die mir jetzt weiter helfen da ist nix beschrieben wie ich es benötige
-
Hallo liebe Community bin leider nicht so gut bei Powershell und benötige Hilfe bei meinem Script und habe auch schon angefangen aber finde nicht den Fehler. Mit dem Script möchte ich tägliche Datei öffnen also die Aktuellsten. Das Format ist .csv und sie liegen immer im gleichen Ordner und heißen als Bsp.:
2016-07-31-09-15_S12_Komplette_Detail.csv
und am folgenden Tag
2016-08-01-10-13_S12_Komplette_Detail.csv
$quelle = 'D:\Excel\*.csv' $objExcel = New-Object -Com Excel.Application $LastFile = *_DailyFile $compareDate = (Get-Date).AddDays(-1) $LastFileCaptured = Get-ChildItem -Recurse -Path '\Excel\*.csv' | Sort-Object -Property LastWriteTime -Descending:$true | Select-Object -First 1
Wollte noch fragen ob mir jemand sagen kann was ich Eintragen muss im Script wenn von Spalte D in A bekomme so das Spalte A und die Folgenden eine weiterrücken.
danke schon mal für eure Zeit und Ideen.
Grüße Neuling
Excel Script Powershell
in Windows Forum — Scripting
Geschrieben · bearbeitet von Neuling69
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)