VBA-Programmierung in Microsoft Excel

Tutorial: Excel-Beispiele

Preisvergleiche

Gruppe

UDF

Bereich

Bereich

Thema

Preisvergleiche

Problem

Es sollen Preisvergleiche nach verschiedenen Kriterien und Ausgabemodi durchgeführt werden.

Lösung

Geben Sie die nachfolgende benutzerdefinierte Funktion in ein Standardmodul ein.


StandardModule: basMain

Function Preis(rngAll As Range, sArtikel As String, _
   blnArt As Boolean, blnPreis As Boolean)
   Dim rng As Range
   Dim dValue As Double
   Dim iRow As Integer
   If blnPreis = False Then dValue = _
      WorksheetFunction.Max(rngAll.Columns(rngAll.Columns.Count))
   For Each rng In rngAll.Columns(2).Cells
      If rng.Value = sArtikel Then
         If blnPreis Then
            If rng.Offset(0, 1) > dValue Then
               dValue = rng.Offset(0, 1).Value
               iRow = rng.Row
            End If
         Else
            If rng.Offset(0, 1) < dValue Then
               dValue = rng.Offset(0, 1).Value
               iRow = rng.Row
            End If
         End If
      End If
   Next rng
   If blnArt Then
      Preis = dValue
   Else
      Preis = rngAll(iRow, 1).Value
   End If
End Function

Sub Aufruf()
   MsgBox Preis(Range("A1:C20"), "Artikel5", True)
End Sub

    

Beiträge aus dem Excel-Forum zu den Themen UDF und Bereich