Hallo,
Für eine kleine Excel-Automatisierung von Timesheets möchte ich folgendes haben:
Ich habe ein Excel-Sheet, welches eine ID-Spalte enthält. Diese Spalte ist nur in manchen Zeilen gefüllt.
Ich möchte nun eine Funktion haben, welche diese Spalte durchläuft und mit der Liste aller validen IDs vergleicht und mir dann alle Reihen in der eine ID steht in eine list of excel.listrow packt.
Diese möchte ich dann weiterverarbeiten.
Bislang sieht mein Ansatz so aus:
Leider sind die ganzen Objects der Excel-Rückgaben für mich auf den ersten Blick nicht so von Nutzen. Ich hatte gedacht, dass ich einfach die ganze Range der Spalte einlese, danach nur gucken muss ob in einer Zelle eine ID steht und ich dann anhand des Objekts dieser Zelle einfach sagen kann
xlRange = sheet.Range(cell.row) , also anhand der Zeile in der sich die ID befindet eine weitere range bilden, die ich dann der rowList hinzufügen kann.
Leider hat das element Range keine richtigen Propertys.
Gruß
Für eine kleine Excel-Automatisierung von Timesheets möchte ich folgendes haben:
Ich habe ein Excel-Sheet, welches eine ID-Spalte enthält. Diese Spalte ist nur in manchen Zeilen gefüllt.
Ich möchte nun eine Funktion haben, welche diese Spalte durchläuft und mit der Liste aller validen IDs vergleicht und mir dann alle Reihen in der eine ID steht in eine list of excel.listrow packt.
Diese möchte ich dann weiterverarbeiten.
Bislang sieht mein Ansatz so aus:
VB.NET-Quellcode
- Private Function getIdRows(ByRef sheet As Excel.Worksheet, ByVal idList As List(Of String)) As List(Of Excel.ListRow) Dim rowList As New List(Of Excel.ListRow)
- Dim xlRange As Excel.Range
- xlRange = sheet.UsedRange(My.Settings.sourceIdSpalte)
- For Each element In xlRange.Value
- For Each id In listID
- If element.value.ToString.Replace(" ", "") = id Then
- rowList.Add(element)
- End If
- Next
- Next
- Return rowList End Function
Leider sind die ganzen Objects der Excel-Rückgaben für mich auf den ersten Blick nicht so von Nutzen. Ich hatte gedacht, dass ich einfach die ganze Range der Spalte einlese, danach nur gucken muss ob in einer Zelle eine ID steht und ich dann anhand des Objekts dieser Zelle einfach sagen kann
xlRange = sheet.Range(cell.row) , also anhand der Zeile in der sich die ID befindet eine weitere range bilden, die ich dann der rowList hinzufügen kann.
Leider hat das element Range keine richtigen Propertys.
Gruß