Werte aus mehreren Excel-Zellen auf Wert überprüfen

  • VB.NET

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von dbx8.

    Werte aus mehreren Excel-Zellen auf Wert überprüfen

    Hallo,

    ich möchte über vb.NET mehrere verschiedene Zellen aus Excel auslesen und diese auf einen Wert überprüfen

    für eine Zelle funktioniert es so:

    VB.NET-Quellcode

    1. Dim kl As String = Nothing
    2. xlSheet = objBook.Worksheets("Übersicht")
    3. kl = xlSheet.Range("D7").Value()
    4. If kl > "20000" Then
    5. With xlSheet.Range("D7").Interior
    6. .Pattern = 14
    7. .PatternColorIndex = 3
    8. End With
    9. ElseIf kl < "0" Then
    10. xlSheet.Range("D7").Interior.Pattern = 14
    11. End If


    Wenn jetzt einer der Werte in den Zellen "D7", "D10" und "D12" größer 20000 ist, dann soll eine Muster im Hintergrund der entsprechenden Zelle auftauchen.

    Ich könnte zwar jede Zelle einzeln prüfen, da ich aber insgesamt viel mehr Zellen, als diese drei, überprüfen will, würde das ziemlich viel Text werden.
    Deswegen hoffe ich das mir jemand helfen kann, sodass ich mehrere Zellen gleichzeitig abfragen kann.
    Hallo,

    wenn du eine List(Of String) erstellst mit den Zellennamen:

    VB.NET-Quellcode

    1. Dim lstCell As List(Of String)
    2. lstCell.AddRange({"D12","D13","D14", "D15", ...})

    und dann deine Code in eine For-Schleife hängt, wie:

    VB.NET-Quellcode

    1. Dim kl As String = Nothing
    2. For i = 0 To lstCells.Count - 1
    3. xlSheet = objBook.Worksheets("Übersicht")
    4. kl = xlSheet.Range(lstCells.Item(i).Value).Value()
    5. If kl > "20000" Then
    6. With xlSheet.Range(lstCells.Item(i).Value).Interior
    7. .Pattern = 14
    8. .PatternColorIndex = 3
    9. End With
    10. ElseIf kl < "0" Then
    11. xlSheet.Range(lstCells.Item(i).Value).Interior.Pattern = 14
    12. End If
    13. Next


    MFG

    Alex-Digital :D

    VB.NET-Quellcode

    1. Dim CellAddresses As New List(Of String) From {"D12","D13","D14", "D15"}
    2. For Each CellAddress in CellAddresses
    3. Dim Cell as Object = xlSheet.Range(CellAddress)
    4. If CInt(Cell.Value > 20000) Then
    5. Cell.Interior.PatternColorIndex = 3 'format cell as you like
    6. ElseIf CInt(Cell.Value) < 0
    7. Cell.Interior.Pattern = 14 'format cell as you like
    8. End If
    9. Next
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --