Office: Kann ich einen Range als Parameter einer Sub übergeben und in der Sub bearbeiten?

Helfe beim Thema Kann ich einen Range als Parameter einer Sub übergeben und in der Sub bearbeiten? in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hi, ich habe eine Select-Case-Anweisung mit sieben cases. IN jedem Case habe ich einen (unterschiedlichen) Range, den ich aber exakt gleich bearbeiten... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von AndreasMzD, 26. Oktober 2019.

  1. Kann ich einen Range als Parameter einer Sub übergeben und in der Sub bearbeiten?


    Hi,
    ich habe eine Select-Case-Anweisung mit sieben cases. IN jedem Case habe ich einen (unterschiedlichen) Range, den ich aber exakt gleich bearbeiten muss. Zunächst hatte ich den Code sieben mal geschrieben. Das ist kein guter Stil, da man ihn an einer Stelle ändern können sollte.
    Also habe ich versucht das so zu lösen:
    Code:
    Muss es eine Funktion machen oder kann ich es mit einer Sub machen?
    Wie stelle ich im Code hinterher fest, ob es wirklich geklappt hat?
    Jedenfalls funktioniert es so nicht.

    Danke für Hinweise.

    :)
     
    AndreasMzD, 26. Oktober 2019
    #1
  2. lasse die klammern beim Aufruf der Sub weg...
     
    Scorefun, 28. Oktober 2019
    #2
  3. oder:
    Code:
     
    EarlFred, 28. Oktober 2019
    #3
  4. Kann ich einen Range als Parameter einer Sub übergeben und in der Sub bearbeiten?

    \@AndreasMzD:
    Dir ist der Unterschied klar, warum Call oder kein Call?
     
  5. Hallo Marco,

    der Unterschied würde mich auch interessieren ... *tongue.gif*

    Sabina
     
    Flotter Feger, 28. Oktober 2019
    #5
  6. Tja Sabina, Dir will ich sagen:
    "weil es sonst nicht geht "*tongue.gif*
     
    Zuletzt von einem Moderator bearbeitet: 12. Januar 2021
  7. Hi,
    ist mir schon klar, hat was mit byRef und byValue zu tun.
    Nur wo ist das für VBA definiert, wann was der Fall ist. Lesen ist kein Problem...
     
    AndreasMzD, 28. Oktober 2019
    #7
  8. Kann ich einen Range als Parameter einer Sub übergeben und in der Sub bearbeiten?

    https://docs.microsoft.com/de-de/dot...d-by-reference und ff. Links

    https://de.wikibooks.org/wiki/VBA_in...yRef_und_ByVal

    https://www.ms-office-forum.net/foru...rn#post1942564

    https://www.ms-office-forum.net/foru...rn#post1928525

    https://www.ms-office-forum.net/foru...d.php?t=320437

    Passing Variable ByRef And ByVal
     
    Zuletzt von einem Moderator bearbeitet: 12. Januar 2021
  9. HI,
    habs ausprobiert.

    Habe meinen Code der aufgerufenen Sub geändert:
    Code:
    KOmischerweise funktionierte es genauso, als ich es in der aufgerufenen Sub auf ByVal änderte.
    Hätte es nicht einmal krachen müssen?

    Paar Worte mehr wären nicht schlecht...
     
    AndreasMzD, 28. Oktober 2019
    #9
  10. KOmischerweise funktionierte es genauso, als ich es in der aufgerufenen Sub auf ByVal änderte.
    Hätte es nicht einmal krachen müssen?

    Paar Worte mehr wären nicht schlecht...

    Deine Range wurde nicht ByVal übergeben.
    Objektvariablen werden stets Byref übergeben, daran ändert auch eine explizite Angabe ByVal im Prozedurkopf nichts.
     
    Zuletzt von einem Moderator bearbeitet: 12. Januar 2021
  11. Danke - das ist aufschlussreich.
    Hatte ich leider nirgends gelesen bis jetzt.
     
    AndreasMzD, 6. November 2019
    #11
  12. Hallo,

    Das stimmt so nicht. ByRef wird ein Pointer auf das Objekt übergeben, ByVal eine Kopie des Pointers. Es werden also ByVal 4 Bytes mehr benötigt. *boah
     
  13. Kann ich einen Range als Parameter einer Sub übergeben und in der Sub bearbeiten?

    Warum einfach wenn's auch kompliziert geht *wink.gif*
     
Thema:

Kann ich einen Range als Parameter einer Sub übergeben und in der Sub bearbeiten?

Die Seite wird geladen...
  1. Kann ich einen Range als Parameter einer Sub übergeben und in der Sub bearbeiten? - Similar Threads - Range Parameter Sub

  2. SVERWEIS mit Range von bis funktioniert nicht?

    in Microsoft Excel Hilfe
    SVERWEIS mit Range von bis funktioniert nicht?: Hallo, ich komme leider nicht weiter bei meinem SVERWEIS. Spalte A und C werden ausgefüllt. In Spalte B sollte dann der SVERWEIS sein. Leider komm ich mit "von bis" nicht weiter und jedes...
  3. Macro Fehler Subscript out of Range

    in Microsoft Excel Hilfe
    Macro Fehler Subscript out of Range: Hallo Zusammen, ich muesste aus ca. 500 pdf's mit teilweise 90 oder evtl. sogar mehr Seiten, ein paar Daten auslesen. Ich habe ein Makro, dass ich vor Jahren benutzt habe, mit dem ich erst die...
  4. Laufzeitfehler 1004 "Die Methode 'Range' für das Objekt '_Global' ist fehlgeschlagen".

    in Microsoft Excel Hilfe
    Laufzeitfehler 1004 "Die Methode 'Range' für das Objekt '_Global' ist fehlgeschlagen".: Hallo Leute,*:)* nachdem ich in die "addIn 1.2.4" ein Sheet RKL eine Dropdownliste und ein Togglebutton hinzugefügt habe bekomme ich beim aufruf der UF die Fehlermeldung "Laufzeitfehler 1004 "Die...
  5. 2x Worksheet_Change(ByVal Target As Range)

    in Microsoft Excel Hilfe
    2x Worksheet_Change(ByVal Target As Range): Hallo zusammen, ich bin VBA-Anfänger und habe die ersten Codes erstellt. Nun möchte ich 2 von Ihnen, welche einzeln funktionieren, zusammenfügen, so dass beide entsprechend durchgeführt werden....
  6. Turnierdatenbank Punkteausweisung anhand Rang

    in Microsoft Excel Hilfe
    Turnierdatenbank Punkteausweisung anhand Rang: Hallo Habe eine Turnierdatenbank, wo ich aus einem separatem Sheet die entsprechenden Rangpunkte automatisch herauslesen kann und - wenn ich den Rang z.B. 2 eingebe - die Punkte dann auf dem...
  7. Rang.gleich aber mit untersten Rang bei gleichen Werten

    in Microsoft Excel Hilfe
    Rang.gleich aber mit untersten Rang bei gleichen Werten: RANG.GLEICH (Funktion) Beschreibung Gibt den Rang zurück, den eine Zahl innerhalb einer Liste von Zahlen einnimmt. Die Größe ist relativ zu anderen Werten in der Liste. Wenn mehrere Werte dieselbe...
  8. "=Wenn" in VBA in eine hochzählende .range einbauen

    in Microsoft Excel Hilfe
    "=Wenn" in VBA in eine hochzählende .range einbauen: Hallo Liebe Community, Ich bin aktuell dabei die Formeln für mehrere Spalten (z.B. P2:P8731) eines Photovoltaikprojekts in VBA zu programmieren. Nun gibt es Formeln, welche erst nach einer...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden