Frage zum Select Case in einer For Next-Schleife
27.09.2017 15:35:51
Alexander
ich bin noch recht frisch in der VBA-Programmierung, aber es klappt schon ganz gut.
Zur Zeit arbeite ich an einem Code, der aus einem bestehenden Sheet Daten in ein neues Sheet extrahiert, diese in eine andere Reihenfolge packt und auch einige Berechnungen durchführt. Genau hier hapert es auch. Ich möchte in einer Schleife prüfen, ob eine Zelle gefüllt ist, dann soll nichts weiter kalkuliert werden. Ist die Zelle nicht gefüllt, soll eine Berechnung durchgeführt werden.
Leider bekomme ich hier immer den Laufzeitfehler "1004"... ich habe nun schon verschiedene Lösungsansätze ausprobiert (if then else, select case) und habe trotzdem immer wieder diesen Fehler. Vielleicht kann mir hier wer von euch helfen oder hat eine Idee oder einen neuen Vorschlag, ich bin da für alles offen. Hier mein Code:
Sub Sub_Kalkulation()
'meine Variablen:
Dim Var_Ergebnis_PO As Integer
Dim Var_AnzahlZeilen As Integer
Dim Var_Mittelwert As Integer
'korrektes Datensheet auswählen:
Worksheets("Download1").Select
'Mittelwert erstmal auf Null setzen:
Var_Mittelwert = 0
'Mittelwert berechnen:
Var_Mittelwert = Application.WorksheetFunction.Average(Worksheets("WIAR").Range("AP:AP"))
'Anzahl Zeilen erstmal auf Null setzen:
Var_AnzahlZeilen = 0
'Anzahl Zeilen ermitteln:
Var_AnzahlZeilen = Range("D65536").End(xlUp).Row
'Schleife zur Berechnung:
For counter_rows = 1 To Var_AnzahlZeilen
Select Case Case_Currency
Case Cells(counter_rows, 42 > 0)
Cells(counter_rows, 43).Value = Cells(counter_rows, 32).Value
Case Cells(counter_rows, 42 = "")
Cells(counter_rows, 43).Value = Cells(counter_rows, 32).Value / Var_Mittelwert
End Select
' If then else Test, hat nicht funktioniert
'If Cells(counter_rows, 35 = ARS) Then
'Cells(counter_rows, 43).Value = Cells(counter_rows, 42).Value / Var_Mittelwert
'Else
'Cells(counter_rows, 42).Value = Cells(counter_rows, 42).Value
'End If
Next counter_rows
End Sub
Herzlichen Dank & viele Grüße
Alex