PDA

Vollständige Version anzeigen : zwei zellenwerte vergleichen und ausgabe eines Hinweises


knacko
29.02.2008, 07:26
Hallo,

ich habe folgende Aufgabe zu lösen.

Der Inhalt der Zelle B1 soll mit dem Inhalt der Zelle B2 verglichen werden. Als Eingabe sind nur Zahlen zulässig und ich muss in beiden Zellen Zahlen eingeben.
B1 muss dabei immer größer als B2 sein. Sollte der User aber in B2 eine größere Zahl eingeben, so soll dies angezeigt werden.

Ich kann das mit bedingter Formatierung machen, hätte aber lieber ein Mitteilungsfenster das ich dann wegklicken muss.

Hat jemand eine Idee?

gruß

Berti_S
29.02.2008, 08:05
Hallo knacko,

habe dir mal was gebastelt.


Berti

EarlFred
29.02.2008, 08:14
Hallo Knacko,
nimm doch einfach Daten - Gültigkeit!
Für B1 nimmst Du nur Dezimal oder Ganzzahl - ja nachdem was Du willst und als Zusatzbedingung "kleiner als" und im Eingabefeld den Bezug B2.
Für B2 nimmst entsprechend die Zusatzbedingung "größer als" und den Bezug B1.
Im Gültigkeitsmenü kannst Du nach Belieben im Tab "Fehlermeldung" eine Warnung eintragen oder auc einen Hinweis für den Nutzer unter "Eingabemeldung".

Grüße
EarlFred

knacko
29.02.2008, 08:36
Hallo,

super, danke euch beiden. Kann beide Lösungen gebrauchen da ich einmal auf alle Fälle das Weiterrechnen verhindern muss (dazu wird dann mit VBA in B2 der Wert wieder resettet) das andere mal kann ich weiterrechnen, ein Hinweis kommt aber sehr gelegen

danke

knacko
29.02.2008, 09:00
Eine Frage noch:
in VBA macht die Zeile
If ActiveSheet.Range("B2").Value >= ActiveSheet.Range("B1").Value Then
die Größenabfrage.
WIe baue ich da noch ein das B1 mindestens um das 1.5 fache größer als B2 ist?

Gruß

EarlFred
29.02.2008, 09:02
If ActiveSheet.Range("B2").Value >= ActiveSheet.Range("B1").Value * 1.5 Then

auch Gruß ;)

Berti_S
29.02.2008, 09:13
Sorry EarlFred,

es müsste m.E. so heissen:

If (ActiveSheet.Range("B2").Value * 1.5) >= ActiveSheet.Range("B1").Value Then ... abgeänderte MsgBox

Gruß und Kuß :D

Berti

knacko
29.02.2008, 09:24
Hallo,

Ja, Bertis Lösung war richtig, danke euch!!
Gruß

EarlFred
29.02.2008, 09:27
@Berti
Den Kuß nimm bitte zurück, sonst krieg ich Ärger mit meiner Freundin! :D

knacko
29.02.2008, 09:29
Eine Frage tauchte gerade nochmal auf:
Wenn ich den Faktor 1.5 als Variable schreiben möchte, würde ich den Code so formulieren


Private Sub Worksheet_Change(ByVal Target As Range)
Dim faktor As Integer
faktor = 1.5
If ((Target.Address = "$B$1") Or (Target.Address = "$B$2")) Then
Application.EnableEvents = False
If Not IsNumeric(Target.Value) Then
MsgBox "Nur numerische Werte erlaubt !", vbOKOnly
Target.Value = ""
End If
If ((ActiveSheet.Range("B2").Value <> "") And (ActiveSheet.Range("B1").Value <> "")) Then
If (ActiveSheet.Range("B2").Value * faktor) >= ActiveSheet.Range("B1").Value Then
MsgBox "Der Wert in B1 muss stets um min. das 1.5 fache größer als derjenige in B2 sein !", vbOKOnly
Target.Value = ""
End If
End If
Application.EnableEvents = True
Else
Exit Sub
End If

End Sub


Das ist aber leider wieder falsch
Woran liegt das?

EarlFred
29.02.2008, 09:41
Also:

es soll sein:
B1 mindestens 1,5 Mal größer als B2.
B1 >= 1,5 * B2

Also ist
B1 < 1,5 * B2 nicht zutreffend, also unwahr und ergibt einen Fehler.

If ActiveSheet.Range("B1").Value < ActiveSheet.Range("B2").Value * 1.5 Then Fehlermeldung

wäre demnach richtig, oder?

EarlFred

IngGi
29.02.2008, 09:51
Hallo knacko,

Dim faktor As Double

Gruß Ingolf

Berti_S
29.02.2008, 09:55
Weil dein Faktor keine Integer-Zahl ist...

Nimm Double (danke Ingolf).

Ansonsten: ändere das >= in >, dann sollte z.B. die Kombination 3 und 2 möglich sein.

Du kannst auch noch den Faktor in die MsgBox mit reinschreiben (verketten mit & CStr(faktor) &).

Berti

knacko
29.02.2008, 10:02
Super,

nun bin ich aber wirklich wunschlos glücklich!
Gruß

EarlFred
29.02.2008, 10:35
Puh, endlich! :D ;)

Grüße und schönes Wochenende
EarlFred

djell
28.09.2009, 16:59
Hallo Leute,

Ich müsste sowas ähnliches machen aber mit Text!

Und zwar müsste ich in der Tabelle "Formular" einen Hinweis bekommen wenn in Tabelle "Formular" der Text die Zelle C9 in Tabelle "Ausgabe" A80:A150 vorkommt.

Geht das?
Könnt Ihr mir dabei helfen?

Danke!