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"