"Range" verschieben

  • Excel

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von petaod.

    "Range" verschieben

    Hallo liebes Forum,

    ich bin leider nicht all zu sehr bewandert in VBA aber ich hoffe trotzdem das mir jemand helfen kann^^.

    Es geht darum, dass ich eine Zelle färbe:

    Visual Basic-Quellcode

    1. Range("E13:J14").Interior.Color = RGB(255, 0, 0)


    und diese verrutschen möchte.

    Dazu hab zwei globale Variablen:

    Visual Basic-Quellcode

    1. Dim iCount As Byte
    2. Dim sCount As String


    Sowie eine Prozedur welche "iCount" hochzählt:

    Visual Basic-Quellcode

    1. iCount = iCount + 1
    2. sCount = CInt(iCount)


    jetzt hatte ich mir gedacht, dass ich diesen Byte-Wert in einen String umwandle und dann einfach an die Zelle hänge, quasi so:

    Visual Basic-Quellcode

    1. Range("I4:I" & sCount).Interior.Color = RGB(255, 0, 0)


    Jedoch erscheint: "Die Methode 'Range' für das Objekt '_Global' ist fehlgeschlagen.
    Irgendwo auch logisch, denn Range erwartet ja auch ein "Range" und keinen String.

    So richtig bin ich aber nicht fündig geworden oder eher ich konnte nix brauchbares finden.

    Wäre klasse wenn jemad Rat weiß und es mir erklären könnte.

    Tony-S schrieb:

    Irgendwo auch logisch, denn Range erwartet ja auch ein "Range" und keinen String.

    Nein. Nicht logisch. Range() gibt einen Range zurück.
    Der Parameter darf schon ein String sein.

    Versuch mal anzugeben, in welchem Objekt der Range drin liegt.
    Etwa: ActiveSheet.Range("I4:I" & sCount)
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „petaod“ ()