if Range("x - y") > 0 then

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

Betrifft: if Range("x - y") > 0 then
von: Steve2
Geschrieben am: 28.02.2005 13:06:45
Hi,
Ich will überprüfen ob die Zellen von "D18 bis Ende" grösser Null sind.
Weiss jemand wie man das macht?
CH - Gruss
Steve

Bild

Betrifft: AW: if Range("x - y") > 0 then
von: WernerB.
Geschrieben am: 28.02.2005 13:26:53
Hallo Steve,
zwei Verständnisfragen:
1. Was heißt "bis Ende" (D18 - bis D65536 oder D18-IV18 oder ... ?)?
2. Wie soll das Ergebnis der Überprüfung aussehen?

Gruß
WernerB.
Bild

Betrifft: AW: if Range("x - y") > 0 then
von: Steve2
Geschrieben am: 28.02.2005 13:46:08
Hi Werner
Eine kleine Übersicht:
Die Zeilen 18 - 52 haben Werte die von der Spalte D an beginnen und können bis zur Spalte Z oder sogar bis ZZ und mehr gehen. Deshalb möchte ich eigenlich nur überprüfen ob minimum eine Zelle von "z.B der Reihe 18" grösser Null ist. Dies reicht mir schon um der CheckBox für die Reihe 18 den Zustand "Enable = True" zu setzen. Anders wäre es wen keine Zelle der Zeile 18 grösser wäre (Enable = False).
Hilf dir das weiter?? ;o) Sonst nur fragen!
Nun meine Frage: Geht das?
PS: Die CheckBoxen sind auf einer UseForm
Bild

Betrifft: Geht nicht hmm?
von: Steve2
Geschrieben am: 28.02.2005 14:12:38
Geht wohlt nicht... bin selber nicht darauf gestossen wies funktionieren könnte.
Ich schau mal im Archiv ob ich da was finden kann...
Bild

Betrifft: AW: Geht nicht hmm?
von: WernerB.
Geschrieben am: 28.02.2005 15:03:41
Hallo Steve,
in Sachen UserForm bin ich nicht so fit.
Aber das nachstehende Makro kannst Du sicher für Deine Zwecke entsprechend umbauen, indem Du die MsgBoxes durch entsprechendes Hakensetzen bzw. Hakenentfernen in Deinen CheckBoxes ersetzt.

Sub Steve()
Dim c As Range, _
    laC As Integer, i As Integer, _
    Pruef As Boolean
    For i = 18 To 52
      laC = Cells(i, Columns.Count).End(xlToLeft).Column
      If laC >= 4 Then
        Pruef = False
        For Each c In Range(Cells(i, 4), Cells(i, laC))
          If c.Value > 0 Then
            Pruef = True
            Exit For
          End If
        Next c
        If Pruef = True Then
          MsgBox "In Zeile " & i & " ist mindestens ein Wert > 0"
        Else
          MsgBox "In Zeile " & i & " ist kein Wert > 0"
        End If
      Else
        MsgBox "In Zeile " & i & " ist kein Wert > 0"
      End If
    Next i
End Sub

Viel Erfolg wünscht
WernerB.
P.S.: Dieses Forum lebt auch von den Rückmeldungen der Fragesteller an die Antworter !
Bild

Betrifft: AW: if Range("x - y") > 0 then
von: Martin Beck
Geschrieben am: 28.02.2005 14:46:54
Hallo Steve,
Level "VBA-gut". Dann sollte folgender Tip reichen. Ermittle zuerst die letzte besetzte Spalte mit
s = Range("IV18").End(xlToLeft).Column
Prüfe dann mit einer Schleife alle Zellen im Bereich D18:Ds, ob sie größer als 0 sind. Wenn eine Zelle gefunden, Schleifenabbruch mit Exit.
Gruß
Martin Beck
Bild

Betrifft: Super Super Danke
von: Steve2
Geschrieben am: 28.02.2005 15:03:48
Ja hat mir sehr geholfen.
Thanks a lot!
Man kann halt nicht alles wissen. :o))
Gruss Steve
 Bild

Beiträge aus den Excel-Beispielen zum Thema "Button für unterschiedl. Berechnungen"