Screencore 0 Geschrieben 19. September 2016 Melden Geschrieben 19. September 2016 (bearbeitet) Hallo Helfer/innen, Ich brauche ein Script in Powershell. Das soll es können; Excel Tabelle: Name Gruppe Franz G1 Fabian G2 Lukas G1 Richard G2 Rafael G3 Script: # Excel File Open $File = "C:\Users\fagr\Desktop\Teamliste.xlsx" $ExcelInput = New-Object -ComObject Excel.Application $ExcelInput.visible = $true $Workbook = $ExcelInput.workbooks.open($file) $Worksheets = $Workbooks.worksheets $Worksheet = $Workbook.Worksheets.Item(1) $SheetInput = $WorkBook.ActiveSheet $CellsInput=$SheetInput.Cells dann brauche ich eine Eingabe die soll so aussehene: Gruppe: wenn ich jetzt bei Gruppe: G1 eingebe soll Franz, Lukas ausgegeben werden. Kann das wer? Wär mega :D bearbeitet 19. September 2016 von Screencore
Sunny61 833 Geschrieben 19. September 2016 Melden Geschrieben 19. September 2016 Wie weit bist Du denn schon mit deinem Script? Zeig doch mal was Du schon hast. Oder war das schon alles?
Screencore 0 Geschrieben 19. September 2016 Autor Melden Geschrieben 19. September 2016 (bearbeitet) # Excel File Open $File = "C:\Users\fagr\Desktop\Teamliste.xlsx" $ExcelInput = New-Object -ComObject Excel.Application $ExcelInput.visible = $true $Workbook = $ExcelInput.workbooks.open($file) $Worksheets = $Workbooks.worksheets $Worksheet = $Workbook.Worksheets.Item(1) $SheetInput = $WorkBook.ActiveSheet $CellsInput=$SheetInput.Cells #Range $RangeG2 = $SheetInput.Range("B1:B100") #User input $eingabe = Read-Host "Gruppe" #Search free row $lastrow = $RangeG2.find($SearchString).row #Find the last Team for($i = $lastrow; $i -gt 1; $i--){ $RangeGruppe2 = $SheetInput.Range("B100:B"+$i) $findlastGroup = $RangeGruppe2.find($eingabe).row } for($j = 1; $j -le $findlastGroup; $j++){ $RangeGruppe = $SheetInput.Range("B"+$j+":B100") $findrow = $RangeGruppe.find($eingabe).row $NextRowCopy = $CellsInput.Item($findrow, 1).value2 Write-Host "In $eingabe sind die Mitglieder: $NextRowCopy" $j=$findrow $j += 1 } #Excel File Close $ExcelInput.Application.DisplayAlerts = $False $Workbook.SaveAs($File) $ExcelInput.Application.DisplayAlerts = $True $ExcelInput.Quit() $ExcelInputProcesses = Get-Process Excel $ExcelInputProcesses | ForEach {Stop-Process ($_.Id)} das ist das script, jedoch geht es wenn ich G1 eingebe :D alles perfekt JEDOCH wenn ich dann G2 eingebe gibt er mir nur 1nen user an nicht den zweiten.. :( danke habe schon eine lösung :D bearbeitet 19. September 2016 von Screencore
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde dich hier an.
Jetzt anmelden