Office: (Office 2010) Mit VBA Zeilen aus markierten Zellbereich ermitteln

Helfe beim Thema Mit VBA Zeilen aus markierten Zellbereich ermitteln in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo, ich möchte die Anfangs- und Endzeile aus einem markierten Zellbereich in Variablen haben. Also z.B A1:A3 markiert -> 1 und 3 oder C15:E280... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von Jorge33, 29. Juli 2017.

  1. Mit VBA Zeilen aus markierten Zellbereich ermitteln


    Hallo,

    ich möchte die Anfangs- und Endzeile aus einem markierten Zellbereich in Variablen haben. Also z.B A1:A3 markiert -> 1 und 3 oder C15:E280 markiert die Zahlen 15 und 280. Mit dem Befehl Selection.Adress ist es ja relativ einfach den Zellbereich zu ermitteln. ($C$15:$E$280). Nur die ein- oder mehrstelligen Zahlen aus diesem String zu extrahieren, ist schon eine Herausforderung (jedenfalls für mich). Nachdem ich jetzt einen halben Nachmittag verbracht habe im Internet zu recherchieren, habe ich nicht wirklich etwas brauchbares gefunden. Gibt es da eine elegante Lösung? Am Liebsten wäre mir es natürlich, man könnte die Zahlen direkt aus dem Adressbereich ermitteln, etwa irgendwie so "a = selection.adress.row.low" und "b = selection.adress.row.high", aber so etwas in die Richtung habe ich überhaupt nicht gefunden...

    :)
     
    Jorge33, 29. Juli 2017
    #1
  2. Hallo Jorge,

    stellt sich die Frage: "Wozu braucht man das?"
     
    Klaus-Dieter, 31. Juli 2017
    #2
  3. Hajo_Zi
    Hajo_Zi Erfahrener User
    MsgBox Range("C15:E280").Cells(1).Row & "," & Range("C15:E280").Cells(Range("C15:E280").Count - 1).Row
     
    Hajo_Zi, 31. Juli 2017
    #3
  4. Mit VBA Zeilen aus markierten Zellbereich ermitteln

    Hallo Hajo,

    Du bist der Held des Tages. *Smilie
    Deine kleine Formel habe ich bei mir so angepasst.

    Bereich = ActiveWindow.Selection.Address
    a = Range(Bereich).Cells(1).Row
    b = Range(Bereich).Cells(Range(Bereich).Count).Row

    Nur das -1 habe ich weg gelassen, das hat das Ergebniss verfälscht.

    Besten Dank und noch einen schönen Abend.

    Gruß Jorge
     
    Jorge33, 31. Juli 2017
    #4
  5. Hallo Jorge33,

    was nutzt es, daß Du einen Held des Tages auserkoren hast, dann aber die angebotene Lösung total verunstaltest. Du besitzt einen Range-Bereich in Form von 'Selection', aber Du machst daraus
    - einen String (.Address)
    - wandelst dann diesen String wieder 3x in einen Bereich um
    - um dann die 2 Zeilen-Werte zu bestimmen

    Was für einen Unsinn in der Programmierung!

    Gruß von Luschi
    aus klein-Paris
     
    Luschi, 31. Juli 2017
    #5
  6. Hallo Hr. Luschi,

    Vielen Dank für Ihre Ausführungen, auch wenn ich sie nicht ganz verstehe. Ich schreibe gelegentlich Formblätter für die Firma für die ich arbeite und hin und wieder auch ein paar Makros. VBA Programmierung habe ich nie richtig gelernt, alles was ich weiß, habe ich mir über das Internet selbst beigebracht. Ich versuche auch immer, möglichst alle Probleme durch Recherche im Internet selbst zu lösen, hier im Forum eine Frage zu stellen ist immer mein letzter Ausweg.

    Im aktuellen Fall habe ich ein Formblatt mit drei Spalten erstellt, in das verschiedene Anwender verschiedene Daten einpflegen. Je nach dem um was für Daten es sich handelt, müssen nach der Eingabe verschiedene Zellen verschiedentlich formatiert werden. Ein Fall für ein Makro, das auch ganz gut funktioniert hat. Der Anwender markiert einfach nach der Eingabe der Daten den betreffenden Zellbereich mit der Maus und startet das Makro. Bei den Tests haben wir dann festgestellt, das die Formatierung einer Spalte immer auf die beiden anderen Splaten übertragen werden kann. Gibt also ein Anwender in die Spalte A Daten ein und formatiert die Zellen in Spalte A. können die Spalten B und C genauso formatiert werden. Gibt er andere Daten in Spalte B ein und formatiert sie mit dem Makro, kann wieder die Formatierung auf die Spalten A und C übertragen werden usw.

    Da ich also immer die Spalten A, B und C formatieren muss, blieb mir nur noch die Frage, welche Zeilen mit der Maus vor Ausführung des Makros markiert worden sind. Ist es Zeile 1 bis 3 oder 4 bis 8 usw. Mit
    Bereich = ActiveWindow.Selection.Address
    sehe ich ganz einfach den komplett markierten Bereich, nur die beiden Zeilen aus dem String zu extrahieren war eine unlösbare AUfgabe für mich.
    Und hier hat mir der Hajo mit seiner Lösung super weitergeholfen. Mit
    ZeileLow = Range(Bereich).Cells(1).Row
    ZeileHigh = Range(Bereich).Cells(Range(Bereich).Count).Row
    habe ich die beiden Zeilen und kann nun alle 3 Spalten ansprechen.

    With Range(Cells(ZeileLow, 1), Cells(ZeileHigh, 1))
    With Range(Cells(ZeileLow, 2), Cells(ZeileHigh, 2))
    With Range(Cells(ZeileLow, 3), Cells(ZeileHigh, 3))

    Ich weiß jetzt nicht genau, welche Regeln und Gesetze ich mit dieser Vorgehensweise gebrochen habe und auch wenn ich wegen meiner Programmierweise irgendwann mal in der Excelhölle lande, wurde hier ein schwieriges Porblem für mich einfach und übersichtlich gelöst.
    Besten Dank nochmal hierfür.

    Gruß Jorge
     
    Jorge33, 1. August 2017
    #6
Thema:

Mit VBA Zeilen aus markierten Zellbereich ermitteln

Die Seite wird geladen...
  1. Mit VBA Zeilen aus markierten Zellbereich ermitteln - Similar Threads - VBA Zeilen markierten

  2. VBA Zeilen kopieren mit Bedingung

    in Microsoft Excel Hilfe
    VBA Zeilen kopieren mit Bedingung: Hallo zusammen, Ich möchte per Makro Zeilen aus Tabelle2 in Tabelle3 kopieren, wenn eine Bedingung erfüllt ist. Bedingung: Der Wert in Spalte E (Tabelle2) kommt in Tabelle1 in Spalte E vor....
  3. Nach Wörtern in Textmarke suchen und Zeilen formatieren

    in Microsoft Word Hilfe
    Nach Wörtern in Textmarke suchen und Zeilen formatieren: Hallo! Es gibt ein Word Dokument mit mehreren Seiten Text. In diesem Dokument steht öfter das Wort "Anteil". In diesem Dokument gibt es auch mehrere Textmarken. In den Textmarken ist jeweils Text...
  4. Excel VBA mit Toggle Button Zeile einfärben

    in Microsoft Excel Hilfe
    Excel VBA mit Toggle Button Zeile einfärben: Hallo, ich habe ein Makro für einen activeX Toggle Button. Wenn dieser nicht betätigt ist, sollen bestimme Zellen in einer Reihe ihre Hintergrundfarbe ( hexal #FFFFFF ; RGB 255 255 255)...
  5. VBA - Wenn Eintrag in Spalte vorhanden dann aktualisieren, sonst neue Zeile

    in Microsoft Excel Hilfe
    VBA - Wenn Eintrag in Spalte vorhanden dann aktualisieren, sonst neue Zeile: Hallo an Alle, ich habe ein Problem und finde keine Lösung in den Foren. Ich hoffe, dass mir jemand hier helfen kann. Ich habe in einer Datei zwei Blätter - eins "TC_Template" ist optisch wie...
  6. VBA / Leerzeile mit Checkbox löschen

    in Microsoft Excel Hilfe
    VBA / Leerzeile mit Checkbox löschen: Hallo Möchte gerne in einer Excel-Datei Leerzeilen, welche eine aktiviert Checkbox enthalten per VBA löschen. (Checkbox in der zu löschenden Zeile, sowie allfällig andere, deaktivierte Checkboxen...
  7. Filter: Spalten statt Zeilen

    in Microsoft Excel Hilfe
    Filter: Spalten statt Zeilen: Hallo zusammen, die Filterfunktion ist mir bekannt. Ich habe in der Überschrift die Möglichkeit nach Kriterien zu filtern. Soweit OK. Es geht um den Tarifdschungel der schweizer Bundenbahn...
  8. markierte Zeile vergrößern mittels VBA

    in Microsoft Excel Hilfe
    markierte Zeile vergrößern mittels VBA: Hallo zusammen, ich habe mir ein kleines Makro gebastelt, dass immer die gesamte Zeile markiert, in der sich auch die aktuelle Zelle befindet. Hier erst einmal der Code: Code: Private Sub...
  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