Vielen Dank!!!
https://www.herber.de/bbs/user/42579.xls
A | B | C | D | E | F | G | |
1 | VertrMA | Fuller | |||||
2 | Kunde | (Alle) | |||||
3 | |||||||
4 | Summe von Bestellwert | Kategorie | |||||
5 | Land | Fleischprodukte | Getränke | Meeresfrüchte | Milchprodukte | Gesamtergebnis | |
6 | Dänemark | 570,00 | 1.775,70 | 2.345,70 | |||
7 | Finnland | 1.375,78 | 420,00 | 2.239,60 | 4.035,38 | ||
8 | Norwegen | 388,35 | 388,35 | ||||
9 | Schweden | 528,00 | 533,20 | 1.134,00 | 672,00 | 2.867,20 | |
10 | Gesamtergebnis | 1.903,78 | 953,20 | 2.092,35 | 4.687,30 | 9.636,63 | |
11 |
Es ist wohl für den "aha"-Effekt vorteilhafter, wenn ich mich auf diese Fingerzeige beschränke, schließlich handelt es sich ja wohl um eine Aufgabe, bei der die Kenntnis über das Wie erarbeitet werden soll.
Gutes Gelingen!
Uwe
| ||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Public Sub Aufgabe_5()
Dim WkSh As Worksheet
Dim dZae_Fl As Double
Dim dZae_Ge As Double
Dim dZae_Me As Double
Dim dZae_Mi As Double
Dim dZaeGes As Double
Dim dMax_BW As Double
Dim iAnz_Mi As Integer
Dim iAnz_Ge As Integer
Dim dBW_Get As Double
Dim sFundst As String
Dim rZelle As Range
Dim sText As String
Set WkSh = Worksheets("Daten Aufgabe 5")
With WkSh.Columns(2)
Set rZelle = .Find("Fuller", LookIn:=xlValues, Lookat:=xlWhole)
If Not rZelle Is Nothing Then
sFundst = rZelle.Address
Do
Select Case WkSh.Cells(rZelle.Row, 5).Value
Case "Dänemark", "Finnland", "Norwegen", "Schweden"
Select Case WkSh.Cells(rZelle.Row, 9).Value
Case "Fleischprodukte", "Getränke", "Meeresfrüchte", "Milchprodukte"
If CDbl(WkSh.Cells(rZelle.Row, 7).Value) > dMax_BW Then
dMax_BW = CDbl(WkSh.Cells(rZelle.Row, 7).Value)
End If
End Select
Select Case WkSh.Cells(rZelle.Row, 9).Value
Case "Fleischprodukte"
dZae_Fl = dZae_Fl + CDbl(WkSh.Cells(rZelle.Row, 7).Value)
Case "Getränke"
dZae_Ge = dZae_Ge + CDbl(WkSh.Cells(rZelle.Row, 7).Value)
Case "Meeresfrüchte"
dZae_Me = dZae_Me + CDbl(WkSh.Cells(rZelle.Row, 7).Value)
Case "Milchprodukte"
dZae_Mi = dZae_Mi + CDbl(WkSh.Cells(rZelle.Row, 7).Value)
End Select
End Select
Select Case WkSh.Cells(rZelle.Row, 5).Value
Case "Finnland"
Select Case WkSh.Cells(rZelle.Row, 9).Value
Case "Milchprodukte"
iAnz_Mi = iAnz_Mi + 1
End Select
End Select
Select Case WkSh.Cells(rZelle.Row, 5).Value
Case "Schweden"
Select Case WkSh.Cells(rZelle.Row, 9).Value
Case "Getränke"
Select Case WkSh.Cells(rZelle.Row, 8).Value
Case "Speedy Express"
iAnz_Ge = iAnz_Ge + 1
dBW_Get = dBW_Get + CDbl(WkSh.Cells(rZelle.Row, 7).Value)
End Select
End Select
End Select
Set rZelle = .FindNext(rZelle)
Loop While Not rZelle Is Nothing And rZelle.Address <> sFundst
End If
End With
dZaeGes = dZae_Fl + dZae_Ge + dZae_Me + dZae_Mi
If iAnz_Ge > 0 Then
dBW_Get = dBW_Get / iAnz_Ge
End If
sText = "Summe der Bestellwerte:" & vbCrLf & vbCrLf & _
"Fleischprodukte: " & vbTab & Format(dZae_Fl, "#,##0.00 \'80") & vbCrLf & _
"Getränke: " & vbTab & Format(dZae_Ge, "#,##0.00 \'80") & vbCrLf & _
"Meeresfrüchte: " & vbTab & Format(dZae_Me, "#,##0.00 \'80") & vbCrLf & _
"Milchprodukte: " & vbTab & Format(dZae_Mi, "#,##0.00 \'80") & vbCrLf & vbCrLf & _
"Gesamt-Summe: " & vbTab & Format(dZaeGes, "#,##0.00 \'80") & vbCrLf & vbCrLf & _
"Bestellung mit dem höchsten Bestellwert: " & vbTab & Format(dMax_BW, "#,##0.00 \'80") & vbCrLf & _
"Anzahl Bestellungen Milchprodukte Finnland: " & vbTab & Format(iAnz_Mi, "#,##0") & vbCrLf & _
"Mittlerer Bestellwert Getränke Speedy Express: " & Format(dBW_Get, "#,##0.00 \'80")
MsgBox sText, 64, " Hinweis für " & Application.UserName
End Sub