RANG per Makro

Bild

Betrifft: RANG per Makro
von: Peter
Geschrieben am: 18.02.2005 21:12:28
Hallo,
ich versuche die Funktion RANG in ein Makro
einzubauen.
Irgendwo hat sich ein Fehler eingeschlichen,
den ich nicht finde.
Wer kann helfen?
Peter


Sub Rangfolge()
Dim sh As Worksheet
Dim z%
    
Set sh = ActiveSheet
 lastRow = IIf(Range("B65536") <> "", 65536, Range("B65536").End(xlUp).Row)
 z = 3
 Do Until IsEmpty(sh.Cells(z, 2)
    Set rng = sh.Range("B3:B" & lastRow)
                              '= RANG(B3;$B$3:$B$20)
    sh.Cells(z, 3) = Evaluate("=RANG(" & sh.Cells(z, 2).Address & ";" &  rng.Address)
      z = z + 1
    Loop
End Sub

Bild

Betrifft: AW: RANG per Makro
von: Claus B.
Geschrieben am: 18.02.2005 21:18:28
Hallo Peter,
kenne zwar die Syntax nicht, doch 2 Klammern auf und eine zu scheint mir zweifelhaft.
Do Until IsEmpty(sh.Cells(z, 2)
Grüßle von Claus
Bild

Betrifft: AW: Danke wars leider nicht RANG per Makro
von: Peter
Geschrieben am: 18.02.2005 21:44:03
Hallo Claus,
danke für den Hinweis. War es leider nicht.
Haut im Original hin.Ist beim kopieren ins Forum passiert.
Peter
Bild

Betrifft: AW: Danke wars leider nicht RANG per Makro
von: Josef Ehrensberger
Geschrieben am: 18.02.2005 22:06:15
Hallo Peter!
Der String un Evaluate ist nicht komplett!

Evaluate("=RANG(" & sh.Cells(z, 2).Address & ";" &  rng.Address & ")" )


Gruß Sepp
P.S.: Rückmeldung nicht vergessen!
Bild

Betrifft: AW: Danke wars leider nicht RANG per Makro
von: K.Rola
Geschrieben am: 18.02.2005 22:51:07
Hallo,
Evaluate verlangt aber englische Syntax, also RANK und statt ; ein ,
Gruß K.Rola
Bild

Betrifft: Hallo Meisterin;-) Du hast natürlich recht,....
von: Josef Ehrensberger
Geschrieben am: 18.02.2005 22:56:27
Hallo K.Rola!
....ich hab nur den fehlenden Abschluß gesehen und auf den Rest
gar nicht mehr geachtet;-))

Gruß Sepp
Bild

Betrifft: AW: Hallo Meister...
von: K.Rola
Geschrieben am: 18.02.2005 23:08:06
Hallo,
die Anrede "Meisterin" ist ja wie ein Ritterschlag, wenn sie von dir kommt.
Btw. das = ist bei Evaluate natürlich auch zuviel.
Gruß K.Rola
Bild

Betrifft: AW: RANG per Makro
von: K.Rola
Geschrieben am: 18.02.2005 22:07:34
Hallo,
welche Werte stehen in Spalte B, Ganzzahlen oder auch Dezimalzahlen?
Willst du die einfache Rangfolge bestimmen?
Gruß K.Rola
Bild

Betrifft: AW: RANG per Makro
von: Re :Peter zu RANG
Geschrieben am: 18.02.2005 23:16:49
Ich danke Euch beiden.
Trotz Eurer Hilfe kommt noch immer noch keine Rangfolge.
Ich erhalte beim ";" die Fehlermeldung "Wert" und bei Änderung
in "," die Fehlermeldung "Name".
Im Moment probiere ich mit Ganzzahlen.Ich weiß gar nicht, dass
es einen Unterschied zu DEzimalzahlen gibt.
Bin eben kein PROFI - freue mich jedoch über Eure Hilfe.
Peter
Bild

Betrifft: AW: RANG per Makro
von: K.Rola
Geschrieben am: 18.02.2005 23:22:05
Hallo,
Evaluate verlangt englische Syntax, also RANK und statt dem ; ein ,
Außerdem darf das = nicht sein. Hier mal der funktionierende Code:
'Wenn der Code in ActiveSheet ausgeführt wird, ist die Objektvariable überflüssig.
Option Explicit
Sub Rangfolge()
Dim z As Long, lz As Long, rng As Range, rc As Long
rc = Rows.Count
lz = IIf(Cells(rc, 2) <> "", rc, Cells(rc, 2).End(xlUp).Row)
z = 3
Set rng = Range("B3:B" & lz)
Do Until IsEmpty(Cells(z, 2))
  Cells(z, 3) = Evaluate("RANK(" & Cells(z, 2).Address & "," & rng.Address & ")")
  z = z + 1
Loop
End Sub

Gruß K.Rola

Bild

Betrifft: AW: Danke - funktioniert
von: Peter
Geschrieben am: 18.02.2005 23:29:36
Ich bedanke mich bei Euch beiden für Eure Hilfe.
Peter
 Bild

Beiträge aus den Excel-Beispielen zum Thema "SUMMEWENN"