MAX in VBA
Betrifft: MAX in VBA
von: Spenski
Geschrieben am: 06.08.2014 19:26:21
huhu
in Spalte B:D stehen Datumseinträge die nicht grösser sein dürfen als der Datumseintrag in Spalte A.
hab nach einiger zeit archive durchstöbern so gelösst:
Sub Schaltfläche1_Klicken()
Dim lloRow As Long, liCounter As Integer
For lloRow = 1 To 100
If Not Range("A" & lloRow).Value = "" Then
If Range("B" & lloRow).Value >= Range("A" & lloRow) Or Range("C" & lloRow).Value >= _
Range("A" & lloRow) Or Range("D" & lloRow).Value >= Range("A" & lloRow).Value Then
liCounter = liCounter + 1
End If
End If
Next
MsgBox "Fehler : " & liCounter
End Sub
funktioniert astrein , aber mich würde interessieren wie dieser Fall mit MAX ausehen würde.
also wenn(max(B1;C1;D1)>=A1;1;0) ...im Macrorecorder kommen nur relative codes raus
gruss
christian
ps ist nicht eilig^^
Betrifft: AW: MAX in VBA
von: Daniel
Geschrieben am: 06.08.2014 19:35:54
HI
meinst du so:
If Worksheetfunction.Max(Range("B" & lloRow & ":D" & lloRow)) > Cells(lloRow, 1).Value Then
oder auch so
If Worksheetfunction.Max(cells(lloRow; 2).Resize(1, 3)) > Cells(lloRow, 1).Value Then
mit dem Recoder kommst du da nicht weiter, weil das ja Aktionen sind, die innerhalb von VBA passieren und damit nicht aufzeichenbar sind.
Gruß Daniel
Betrifft: AW: MAX in VBA
von: Spenski
Geschrieben am: 06.08.2014 19:50:20
hi daniel
ja das obere beispiel passt super...sowas ähnliches hatte ich gefunden aber bekam es nicht wirklich umgebaut.
hab jetzt meine beispieldatei bisschen unglücklich aufgebaut. unter umständen kann es auch die zb Salte B D F sein aus denen der MAX wert ermittelt werden muss. wenn in C und E auch werte stehen würds nicht hinhauen.
will aber keine doppelarbeit verursachen. meine erste frage wurde ja beantwortet und ich denke die werde ich so auch noch mal brauchen ...also ab in mein archive :D
gruss
Betrifft: AW: MAX in VBA
von: Uduuh
Geschrieben am: 06.08.2014 20:23:44
Hallo,
in dem Fall kannst du den Range mit UNION zusammenbauen.
if worksheetfunction.max(union(cells(llorow,2),cells(llorow,4),cells(llorow,6))) ....
Gruß aus’m Pott
Udo

Betrifft: AW: MAX in VBA
von: Gerd L
Geschrieben am: 06.08.2014 20:34:29
Hallo Udo,
das muss er aber nicht unbedingt.
MsgBox WorksheetFunction.Max(Cells(1, 2), Cells(1, 4), Cells(1, 6))
Gruß Gerd
Betrifft: AW: MAX in VBA
von: Spenski
Geschrieben am: 06.08.2014 20:36:45
danke euch allen
Betrifft: stimmt natürlich! owT
von: Uduuh
Geschrieben am: 06.08.2014 20:41:27