Hallo erstmal,
ich habe eine Tabelle erstellt(excel2003)
in dieser befinden sich:
12 Werte
1 Checkbox
1 Mengenwert
zur erklärung:
Ich möcht eine Zelle machen, in die man schreiben kann,
sofern die Checkbox nicht aktiv ist. Ist sie aktiv soll in jene Zelle
automatisch geschrieben werden.
Und zwar bei Mengenwert 0 nur der höchste der 12 Werte.
Bei Mengenwert 1 sollen die 2 höchsten addiert eingetragen werden.
Bei Mengenwert 2, die 3 höchsten…etc.
Deaktiviert man die Checkbox wieder, kann man wieder manuell einen Wert in die Zelle
eintragen.
Alles Blattübergreifend.
Hoffe es ist alles gesagt.
Danke im voraus
Joschie
12 Werte
1 Checkbox
1 Mengenwert
zur erklärung:
Ich möcht eine Zelle machen, in die man schreiben kann,
sofern die Checkbox nicht aktiv ist. Ist sie aktiv soll in
jene Zelle automatisch geschrieben werden.
Und zwar bei Mengenwert 0 nur der höchste der 12 Werte.
Bei Mengenwert 1 sollen die 2 höchsten addiert eingetragen
werden. etc.
Deaktiviert man die Checkbox wieder, kann man wieder manuell
einen Wert in die Zelle eintragen.
Hallo Joschie,
du bräuchtest eine Zelle mehr in der du den manuellen Wert eingibst.
Je nach Checkboxwert wird dieser benutzt oder halt die x größten der 12 Werte.
Oder Vba.
Gruß
Reinhard
Das mag ja alles sein, nur hilft mir das noch nicht weiter.
Ich weiß nicht wie ich die x größten auslese…wie ich den größten auslese
ist klar (MAX) aber mehrere größte Werte, bekomm ich irgwie nich hin…-.-
Und ja ich wollt es eh mit VBA ersetzen und enablen bzw. disablen lassen…
Das muss doch irgwie machbar sein. Wenn nicht, bin ich etwas enttäuscht
von VBA °^^ .
Und ja ich wollt es eh mit VBA ersetzen und enablen bzw.
disablen lassen…
Hallo Joshie,
konnte ich nicht erahnen.
Enabled geht nicht bei Zellen. Ein Weg ist der Blattschutz.
Vergib den Namen Dutzend für die 12 Werte in Tabelle2.
Checkbox aus Steuerelement in Tabelle1.
In das Modul von Tabelle1:
Option Explicit
Private Sub CheckBox1\_Click()
Dim N As Integer
If CheckBox1.Value = True Then
With Range("A1")
.Value = 0
For N = 1 To Range("B1").Value + 1
.Value = .Value + Application.Large(Tabelle2.Range("Dutzend"), N)
Next N
End With
Tabelle1.Protect
Else
Tabelle1.Unprotect
End If
End Sub
Gruß
Reinhard