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"