ich habe versucht ein Makro zu schreiben, dass wenn ein Wert in eine bestimmte Zelle (Beispiel F6) eingetragen wird, dieser abgeglichen wird und dann in eine andere Zelle (M6)den Wert schreibt (bei F6=0 -> M6=0), oder eine Rechenoperation ausführt (wenn Wert größer 0 von F6) oder die Zelle weiter frei hält (Wenn die Zelle F6 leer ist).
Natürlich soll das noch bis zur Zelle F58 durchlaufen. Ebenso mit dem Übertrag, also M58.
Anbei mal das Makro:
Sub Steuerungsbau()
Dim ws1 As Worksheet, n As Long, x As Long, val As Long
Set ws1 = Worksheets(„Daten“)
With ws1
x = 6
For n = 6 To n = 58
val = .Range(n, 6).Value
Range(x, 13).Activate
If Range(n, 6).Value = 0 Then
ActiveCell.Value = „0%“
ElseIf Range(n, 6).Value > 0 Then
ActiveCell.Value = val / 70
ElseIf Range(n, 6).empty Then
ActiveCell.Clear
End If
x = x + 1
Next n
End With
End Sub
probier ich gleich mal aus.
Hab das allerdings jetzt anders geschrieben und das funzt nun. Hab Offset verwendet.
Falls jmd. mal was ähnliches machen will, hier die funktionsfähige Lösung:
Sub Steuerungsbau()
For Each wert In Range(„F6:F58“)
If (wert.Value) = 0 Then
wert.Offset(0, 7).Value = wert.Value
ElseIf wert.Value > 0 Then
wert.Offset(0, 7) = wert.Value / wert.Offset(0, 14).Value
Else
wert.Offset(0, 7).Clear
End If
Next wert
ich habe versucht ein Makro zu schreiben, dass wenn ein Wert
in eine bestimmte Zelle (Beispiel F6) eingetragen wird, dieser
abgeglichen wird und dann in eine andere Zelle (M6)den Wert
schreibt (bei F6=0 -> M6=0), oder eine Rechenoperation
ausführt (wenn Wert größer 0 von F6) oder die Zelle weiter
frei hält (Wenn die Zelle F6 leer ist).
Hola Senor,
Sub Steuerungsbau()
Dim ws1 As Worksheet, n As Long
Set ws1 = Worksheets("Daten")
With ws1
.Range("M6:M58").Clear
For n = 6 To 58
Select Case .Cells(n, 6).Value
Case Is \> 0
If IsNumeric(.Cells(n, 6).Value) Then
.Cells(n, 13).Value = .Cells(n, 6).Value / 70
Else
.Cells(n, 13).Value = "Fehler F" & n
End If
Case "0"
.Cells(n, 13).Value = "0%"
End Select
Next n
End With
End Sub
Dir auch Danke Reinahrd,
etwas übers Ziel hinaus, aber damit hab ich wenigstens die Case-Anwendung richtig verstanden.
Grüße vom Fuße der Schwäbischen Alb,
Senor