Advertisement
Guest User

Untitled

a guest
Nov 21st, 2017
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. Sub Schaltfläche1_Klicken()
  2.  
  3.     Sheets("Verkauf").Select
  4.  
  5.     Dim produktgruppe As Integer
  6.     Dim produkt As Integer
  7.     Dim preis As Integer
  8.     Dim stueckzahl As Integer
  9.     Dim kunde As Integer
  10.     Dim preisinkl As Integer
  11.    
  12.     produktgruppe = Range("Produktgruppe").Column
  13.     produkt = Range("Produkt").Column
  14.     preis = Range("Preis").Column
  15.     stueckzahl = Range("Stückzahl").Column
  16.     kunde = Range("Kunde").Column
  17.     preisinkl = Range("Preisinkl").Column
  18.    
  19.    
  20.     ' Tabellenende
  21.    Dim ende As Integer
  22.     ende = IIf(IsEmpty(Cells(Rows.Count, produkt)), Cells(Rows.Count, produkt).End(xlUp).Row, Rows.Count)
  23.  
  24.  
  25.     ' für jede Zeile in der Tabelle
  26.    For i = 2 To ende
  27.    
  28.         ' Preis*Stückzahl
  29.        Dim summe As Long
  30.         summe = Cells(i, preis) * Cells(i, stueckzahl)
  31.    
  32.    
  33.         Dim preisInklusiveRabatt As Long
  34.         ' Sonderrabatt für E-Bikes oder normaler Rabatt
  35.        preisInklusiveRabatt = IIf(Cells(i, produktgruppe) = "E-Bike", sonderRabattBestimmen(summe), preisInklRabattBestimmen(summe))
  36.        
  37.        
  38.         ' Verkauf wieder auswählen, da sonst in Rabatt eingetragen wird
  39.        Sheets("Verkauf").Select
  40.        
  41.         Cells(i, preisinkl) = preisInklusiveRabatt
  42.    
  43.     Next i
  44.  
  45. End Sub
  46.  
  47.  
  48. Function preisInklRabattBestimmen(betrag As Long) As Long
  49.  
  50.     Sheets("Rabatt").Select
  51.    
  52.     Dim von As Integer
  53.     Dim bis As Integer
  54.     Dim rabatt As Integer
  55.     rabatt = Range("Rabatt").Column
  56.     von = Range("von").Column
  57.     bis = Range("bis").Column
  58.    
  59.     ' Tabellenende
  60.    Dim ende As Integer
  61.     ende = IIf(IsEmpty(Cells(Rows.Count, von)), Cells(Rows.Count, von).End(xlUp).Row, Rows.Count)
  62.    
  63.  
  64.     For i = 2 To ende
  65.    
  66.         Dim vonBetrag As Long
  67.         Dim bisBetrag As Long
  68.         vonBetrag = Cells(i, von)
  69.         bisBetrag = Cells(i, bis)
  70.    
  71.         If (betrag >= vonBetrag And betrag <= bisBetrag) Then
  72.            
  73.             preisInklRabattBestimmen = betrag - (betrag * Cells(i, rabatt))
  74.            
  75.         End If
  76.        
  77.     Next i
  78.  
  79. End Function
  80.  
  81. Function sonderRabattBestimmen(betrag As Long) As Long
  82.  
  83.     Sheets("Rabatt").Select
  84.        
  85.     ' Rückgabewert
  86.    sonderRabattBestimmen = betrag - (betrag * Cells(2, 6))
  87.  
  88. End Function
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement