Meldung bei Überschreitung in VBA

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Bild

Betrifft: Meldung bei Überschreitung in VBA
von: Andreas
Geschrieben am: 25.11.2003 09:35:28

Hallo miteinander,
ich habe ein kleines Problem, und zwar will ich eine Meldung erzwingen sobald der Wert in Zelle Q9 85000 überschreitet. Die Zelle ist ausgeblendet und wird von einer Berechnung ausgefüllt.

Mein Versuch sieht so aus,


Private Sub CommandButton1_Click()
    ActiveSheet.Unprotect ("sls")
    Range("d9") = TextBox1
    Range("e9") = TextBox2
    Range("f9") = TextBox3
    Range("h9") = TextBox4
    ActiveSheet.Protect ("sls")
    Unload NeuesTeil
If Range("q3") > "85000" Then
meldung = "Das Teil hat eine grosse Grundfläche, bitte mit Avor klären!"
MsgBox meldung
End If
End Sub


Wo liegt der Fehler??

Gruss Andreas
Bild


Betrifft: AW: Meldung bei Überschreitung in VBA
von: Michael Scheffler
Geschrieben am: 25.11.2003 09:38:50

Hi,

erstens würde ich in der Programmierung mit Cells() statt mit Range arbeiten. Und dann nicht "85000", sondern:

If Int(Cells(17,3)) > 85000 Then

Gruß

Micha


Bild


Betrifft: AW: Meldung bei Überschreitung in VBA
von: Andreas
Geschrieben am: 25.11.2003 09:50:30

Ich bekomme aber immer noch den Fehler bei der Meldung, liegt nich an der Art der Selection der Zelle.

Gruss Andreas


Bild


Betrifft: AW: Meldung bei Überschreitung in VBA
von: Michael Scheffler
Geschrieben am: 25.11.2003 10:02:53

Hi,

was für ein Fehler tritt denn auf. Bei mir klappt sogar Deine Variante.

Gruß

Micha


Bild


Betrifft: AW: Meldung bei Überschreitung in VBA
von: Andreas
Geschrieben am: 25.11.2003 10:05:53

VBA bringt bei der Meldung den Fehler Variable nicht definiert, keine Ahnung warum.


Bild


Betrifft: AW: Meldung bei Überschreitung in VBA
von: Bernhard Ringhofer
Geschrieben am: 25.11.2003 10:25:00

Andreas,

du versuchst mit Textstrings zu rechnen, das kann nicht funktionieren!

Probier folgenden Code:


Private Sub CommandButton1_Click()
    ActiveSheet.Unprotect ("sls")
    [d9] = TextBox1.Value
    [e9] = TextBox2.Value
    [f9] = TextBox3.Value
    [h9] = TextBox4.Value
    ActiveSheet.Protect ("sls")
    Unload NeuesTeil
If [g9] > 85000 Then
meldung = "Das Teil hat eine grosse Grundfläche, bitte mit Avor klären!"
MsgBox meldung
End If
End Sub


Gruss
Bernhard


Bild


Betrifft: AW: Meldung bei Überschreitung in VBA
von: Andreas
Geschrieben am: 25.11.2003 10:34:34

Hallo Bernhard,

das Problem liegt nicht bei der Übertragung der Daten aus den Textboxen sondern bei der Meldung, dort bekomme ich den Fehler beim Kompilieren "Variable nicht definiert".

Gruss Andreas


Bild


Betrifft: AW: Meldung bei Überschreitung in VBA
von: Michael Scheffler
Geschrieben am: 25.11.2003 10:47:08

Hallo Andreas,

steht bei Dir irgendwo "Option Explicit"?

Gruß

Micha


Bild


Betrifft: AW: Meldung bei Überschreitung in VBA
von: Andreas
Geschrieben am: 25.11.2003 11:03:56

Hi Micha,

kleiner Fehler grosse Wirkung, habe ich tatsächlich übersehen.

Danke für die Hilfe
Gruss Andreas


Bild


Betrifft: AW: Meldung bei Überschreitung in VBA
von: Michael Scheffler
Geschrieben am: 25.11.2003 11:10:12

Hallo Andreas,

ich würde immer mit "Option Explicit" programmieren.

Gruß

Micha


Bild


Betrifft: AW: Meldung bei Überschreitung in VBA
von: Andreas
Geschrieben am: 25.11.2003 11:56:33

Hi Micha,

das würde ich auch in diesem Fall wenn ich eine Lösung gefunden habe, aber ohne "Option Explicit" funktioniert es und mit nicht.

Wie sieht denn die richtige Lösung aus?

Gruss Andreas


Bild


Betrifft: AW: Meldung bei Überschreitung in VBA
von: Michael Scheffler
Geschrieben am: 25.11.2003 12:41:56

Hi,

dann musst Du alle Variablen dimensionieren, die Du verwendest:

Dim intIrgendWas As Integer
...
Dim doubIrgendWas As Double

Usw. usf.

Gruß

Micha


Bild

Beiträge aus den Excel-Beispielen zum Thema " Meldung bei Überschreitung in VBA"