ElseIf wird umgangen ?!
26.06.2015 08:42:09
Lukas
komme bei folgendem Problem nicht weiter.
Das Makro durchläuft immer nur die IF-Bedingung (MAe5) und springt dann direkt auf die Else-Bedingung (Puffer).
Liegt es am Code, dass die Elseif-Bedingung nicht durchlaufen wird?
Sub Eingabe()
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Dim Typ As String
Dim suche As Range
Dim SapNr As String
Dim Menge As Integer
Dim Ende As Long
Dim Bereich As Range, zelle As Range
Sheets("Zwischenspeicher").Activate
Typ = Range("B2").Value 'Typ Variable zuweisen
Menge = Range("C2").Value 'Menge Variable zuweisen
SapNr = Range("A2").Value 'SapNr Variable zuweisen
'Abfrage auf Vorgabeliste, ob MAE5 freie Kapazität hat
Sheets("Vorgabeliste").Activate
'MAE5
If Range("C3").Value = 3000 Then
Korrekturwert = Range("C3").Value
Übertrag = Korrekturwert - 3000
'letzte benutzte Zelle im Puffer finden
With ActiveSheet
Ende = .Cells(Rows.Count, 23).End(xlUp).Row
End With
'Werte in Puffer eintragen
Cells(Ende + 1, 22).Value = SapNr
Cells(Ende + 1, 23).Value = Typ
Cells(Ende + 1, 24).Value = Übertrag
'Wert MAE5 korrigieren
With ActiveSheet
Ende = .Cells(Rows.Count, 3).End(xlUp).Row
End With
Korrektur = Cells(Ende, 3).Value - Übertrag
Cells(Ende, 3).Value = Korrektur
End If
End If
'Umstieg auf MAE4
ElseIf Range("C3").Value >= 3000 And Range("G3").Value = 3000 Then
Korrekturwert = Range("G3").Value
Übertrag = Korrekturwert - 3000
'letzte benutzte Zelle im Puffer finden
With ActiveSheet
Ende = .Cells(Rows.Count, 23).End(xlUp).Row
End With
'Werte in Puffer eintragen
Cells(Ende + 1, 22).Value = SapNr
Cells(Ende + 1, 23).Value = Typ
Cells(Ende + 1, 24).Value = Übertrag
'Wert MAE5 korrigieren
With ActiveSheet
Ende = .Cells(Rows.Count, 3).End(xlUp).Row
End With
Korrektur = Cells(Ende, 3).Value - Übertrag
Cells(Ende, 3).Value = Korrektur
End If
End If
'Umstieg auf Puffer
Else
'In Vorgabeliste eintragen
Sheets("Vorgabeliste").Activate
'letzte benutzte Zelle in Spalte 2 finden
With ActiveSheet
Ende = .Cells(Rows.Count, 23).End(xlUp).Row
End With
'Werte eintragen
Cells(Ende + 1, 22).Value = SapNr
Cells(Ende + 1, 23).Value = Typ
Cells(Ende + 1, 24).Value = Menge
'Zwischenspeicher leeren für nächsten Wert
Sheets("Zwischenspeicher").Activate
Rows("2:2").Select
Selection.Delete Shift:=xlUp
Sheets("Vorgabeliste").Activate
End If
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub