Anzeige
Archiv - Navigation
1184to1188
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Gültigkeit für Formel-Ergebnisse / Makro

Gültigkeit für Formel-Ergebnisse / Makro
Sven
Hallo zusammen,
Ich habe mir ein Excel Makro geschrieben welches mir aus einer Tabelle bestimmte Werte ausließt und das Ergebnis anschließend in einer Zelle anzeigt. (in diesem Fall eine Summe Dezimaler Zahlen). Nun habe ich aber ein weiteres Feld mit dem ich das Ergebnis manipulieren kann. Sprich: Werte addieren bzw subtrahieren. Die Subtraktion möchte ich aber in der Hinsicht einschränken, dass das manipulierte Ergebnis nicht negativ werden darf. Der Wert Null ist allerdings erlaubt.
Wie kann ich das realisieren? mit der Gültigkeitsprüfung schaffe ich das nicht, da diese bei Formel-Ergebnissen anscheinen nicht greift. Außerdem hätte ich gerne eine Warnmeldung, wenn das Ergebnis negativ werden sollte in der der Nutzer darauf hingewiesen wird, dass diese Eingabe nicht erlaubt ist.
Ich glaube am Sinnvollsten ist es diese Abfrage im Makro durchzuführen in der ich auf Änderungen überprüfe, um die Zwischenablage zu aktualisieren.
Hier das Makro für die Zwischenablage

Private Sub Worksheet_Change(ByVal Target As Range)
Application.ScreenUpdating = False
If Target.Column = 14 Then Range("J27:J28").Copy
Application.ScreenUpdating = True
End Sub
Ich modifiziere mit den Feldern N4:N8
Die Felder K4:K8 dürfen dabei nicht negativ werden.
in Feld K4 steht z.B.

=(SUMMEWENN(A$11:A$1000;0,35;B$11:B$1000))+N4

mit N4 modifiziere ich dieses Feld. Daher das "+N4" am Ende der Formel.
Ich hoffe es hat jemand einen Tip für mich.
Besten Dank im Vorraus
AW: Gültigkeit für Formel-Ergebnisse / Makro
29.10.2010 12:25:25
{Boris}
Hi,
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address(0, 0) = "N4" Then
If Range("K4") 
Grüße Boris
AW: Gültigkeit für Formel-Ergebnisse / Makro
29.10.2010 14:17:30
Sven
Hey das ist Super!
Danke.
Ich habe das ganze jetzt mal eingefügt und um eine Fehlermeldung ergänzt.
Funktioniert auch wunderbar, bis auf die Tatsache, dass ich nicht den Überwachten Bereich von N4:N8 bzw. K4:K8 erweitern kann. Dazu reichen meine bescheidenen VBA Kenntnisse nicht aus ;-)
Eine Möglichkeit wäre natürlich den Code 5* einzufügen und jede Zelle einzeln überwachen zu lassen, aber ich glaube das ganze kann man auch eleganter lösen -nur weiß ich nicht wie :)
So sieht das ganze jetzt aus:

Private Sub Worksheet_Change(ByVal Target As Range)
Application.ScreenUpdating = False
If Target.Address(0, 0) = "N4" Then
If Range("K4") 
Für einen weiteren Tip wäre ich sehr dankbar!
Grüße!
Anzeige
AW: Gültigkeit für Formel-Ergebnisse / Makro
29.10.2010 14:23:17
Sven
Sorry, ich find hier keinen Edit-Button für meinen alten Beitrag deswegen so:
Ergänzung:
Wenn ich in die Zelle zum modifizieren gehe und dort die "entf" Tase drücke, die Zelle dann verlasse und die Zelle somit nur "geleert" habe erscheint in meinem Modifizierungsfeld die Fehlermelduing "#Bezug!"
AW: Gültigkeit für Formel-Ergebnisse / Makro
29.10.2010 14:31:10
Sven
Ich bin Blöd :-( den Bezugsfehler hab ich selbst produziert indem ich "Enter" zum verlassen der Zelle gedrückt habe... und dann versucht er natürlich meine kopierten Zellen Einzufügen ;-)
nichtsdesdotrotz wäre da noch mein Ursprungsproblem:
Hey das ist Super!
Danke.
Ich habe das ganze jetzt mal eingefügt und um eine Fehlermeldung ergänzt.
Funktioniert auch wunderbar, bis auf die Tatsache, dass ich nicht den Überwachten Bereich von N4:N8 bzw. K4:K8 erweitern kann. Dazu reichen meine bescheidenen VBA Kenntnisse nicht aus ;-)
Eine Möglichkeit wäre natürlich den Code 5* einzufügen und jede Zelle einzeln überwachen zu lassen, aber ich glaube das ganze kann man auch eleganter lösen -nur weiß ich nicht wie :)
So sieht das ganze jetzt aus:

Private Sub Worksheet_Change(ByVal Target As Range)
Application.ScreenUpdating = False
If Target.Address(0, 0) = "N4" Then
If Range("K4") 
Für einen weiteren Tip wäre ich sehr dankbar!
Grüße!
Anzeige
AW: Gültigkeit für Formel-Ergebnisse / Makro
29.10.2010 17:06:42
Jürgen
Hallo Sven,
wenn ich das richtig sehe, ist Dein Problem doch mit einer Gültigkeitsprüfung zu lösen. Kann es sein, dass Du bei Deinem Versuch die Gültigkeitsprüfung auf die Zellen K4:K8 gelegt hast? Da gehört sie nicht hin, sondern auf die Zellen N4:N8, und zwar als "Benutzeredfiniert" mit der Formel "=K4>=0".
Gruß, Jürgen
AW: Gültigkeit für Formel-Ergebnisse / Makro
02.11.2010 15:10:44
Sven
Perfekt... ich hatte schonmal mit den Benutzerdefinierten Einstellungen herumgespielt, bin aber auf keinen grünen Zweig gekommen.
Das macht das ganze doch einfacher, als wenn ich meinen Code noch weiter aufblähen muss ;-)
Ich danke euch allen für die Tips&Hilfen!
Anzeige
AW: Gültigkeit für Formel-Ergebnisse / Makro
29.10.2010 23:31:10
Gerd
Hallo Sven,
teste mal.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rngIn As Range, rngCell As Range, strMessage As String
On Error GoTo rep
With Target
If Intersect(.Cells, Columns(14)) Is Nothing Then Exit Sub
Application.ScreenUpdating = False
Application.EnableEvents = False
Set rngIn = Range(Cells(4, 14), Cells(8, 14))
If Not Intersect(.Cells, rngIn) Is Nothing Then
For Each rngCell In Intersect(.Cells, rngIn)
With rngCell
If .Offset(0, -3) 
Gruß Gerd

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige