Office: Variables Range Select ?

Helfe beim Thema Variables Range Select ? in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo Excel Profis, ich sitze wiedermal vor einem für mich nicht lösbaren Problem. In einer Liste führe ich über einen VBA Code aus einer anderen... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von Posaune, 6. Oktober 2009.

  1. Posaune Erfahrener User

    Variables Range Select ?


    Hallo Excel Profis,
    ich sitze wiedermal vor einem für mich nicht lösbaren Problem.
    In einer Liste führe ich über einen VBA Code aus einer anderen Liste Namen und Jubilämsdaten ein. Über der Liste steht das Jahr in einer zusammen gehängten Zelle(A:D).
    Nun möchte ich die Liste, ohne Jahr, aber mit Überschrift Selecten um die Liste nach Status und Namen zu Sortieren. Dies möchte ich in den Code einfügen um es nach dem Eintragen in der Liste automatisch zu sortieren. Leider bekomme ich die Variabele Select Range nicht hin. Denn ich schreibe jedes Jahr untereinander und es gibt verschieden viele Namen.
    Eine Datei probiere ich anzuhängen.
    Für eure Hilfe vielen Dank
    Gruß Norbert[/list]
     
    Posaune, 6. Oktober 2009
    #1
  2. Beverly
    Beverly Erfahrener User
    Hi Norbert,

    meinst du so etwas:

    Code:
    Sub Sortieren()
        If Not Selection.MergeCells Then
            If Selection.Columns.Count = 4 And Selection.Cells(1).Columns = "A" And Selection.Cells(1) <> "Status" Then _
                Selection.Sort Key1:=Range(Selection.Cells(1).Address), Order1:=xlAscending, Key2:=Range(Selection.Cells(2).Address), Order2:=xlAscending, Header:=xlNo
        End If
    End Sub
    Bis später,
    Karin
     
    Beverly, 7. Oktober 2009
    #2
  3. Posaune Erfahrener User
    MMhh hallo Karin,
    ich muß zugeben erstens werde ich aus deinem Code nicht ganz schlau und zweitens habe ich ihn mal in die Tabelle gegeben und ausgeführt - es passiert eigentlich nichts :-)
    Heißt wohl "wenn nicht eine verbundene Zelle selektiert wurde dann"
    Hier wird glaube ich auch gefragt IF "Wenn Selection"?
    Also ich versuche es anders zu erklären - hoffentlich verständlich :-))
    Momentan sind in der Liste enthalten 2009 --> verschieden viele Namen; dann 2010 --> und verschieden viele Namen; wenn ich jetzt 2011 hinzufüge kommen auch darunter die Überschrift und dann verschieden viele Namen. Und diese sollen jetzt gleich Sortiert werden. Das Jahr drauf kommt 2012; Überschrift und wieder Namen - welche dann auch für sich alleine Sortiert werden sollen. Nun brauche ich einen Code der die jeweils im letzten Jahr geschriebenen Namen und so weiter Selektiert. Den Code für das Sortieren der Selection bekomme ich eigentlich hin.
    Mmhh hoffentlich geht das überhaupt und es ist jetzt verständlicher geworden.
    Vielen lieben Dank aber für eure nette und immer sehr schnelle hILFE:
    Gruß Norbert
     
    Posaune, 7. Oktober 2009
    #3
  4. Posaune Erfahrener User

    Variables Range Select ?

    Hallo nochmal
    ich habe eine Lösung gefunden.
    Ich zähle sowieso mittels Funktion "ZÄHLENWENN" die USEDRANGE. Nun schreibe ich bevor ich ein neues Jahr aufnehme den Wert in eine Hilfszelle+1(b).
    Im Code Select nehme ich nun die Range (cells(b=alter Wert,1),cells(a=neuer Wert,4)).Select - dann Sortieren.
    Grins es funktioniert.
    Vielen Dank trotzdem für die Hilfe.
    Code:
                Windows("BM Jubiläumsliste").Activate
                Range(Cells(b, 1), Cells(a, 4)).Select
                        Application.CutCopyMode = False
    Selection.Sort Key1:=Range(Selection.Cells(1).Address), Order1:=xlAscending, Key2:=Range(Selection.Cells(2).Address), Order2:=xlAscending, Header:=xlYes
    Range("A7").Select
    
    Gruß Norbert;-)
     
    Posaune, 7. Oktober 2009
    #4
  5. Beverly
    Beverly Erfahrener User
    Hi Norbert,

    mein Code ist wie folgt konzipiert:

    du selektierst einen Bereich - gleichgültig wo und wie viele Zellen. Zuerst wird ausgeschlossen, ob der selektierte Bereich verbundene Zellen enthält (also falls du zufällig eine verbundene Überschriftenzelle (das Jahr) mit ausgewählt hast. Dann wird festgelegt, dass 4 Spalten ausgewählt wurden (andernfalls kann nicht alles richtig sortiert werden), dass die erste Spalte des ausgewählten Bereichs Spalte A ist (damit Spalten A:D ausgewählt wurden) und dass die erste Zelle nicht den Begriff "Status" enthält (also nicht die Überschriftenzeile über den einzelnen Süalten mit selektiert wurde). Und dann wird der selektierte Bereich sortiert nach Spalte A, anschließend nach Spalte B.

    Und das geht alles ohne Hilfszellen - einfach nur mit dem im Tabellenblatt selektierten Bereich.

    Bis später,
    Karin
     
    Beverly, 7. Oktober 2009
    #5
  6. Posaune Erfahrener User
    Hallo Karin
    vielen Dank für deine Erklärung.
    Ich werde mich, wenn es klappt, nachher nochmal damit beschäftigen um es genau zu verstehen. Ich möchte ja weiter lernen und auch wissen warum gestern nichts passiert ist wenn ich den Code gestartet habe.
    Tchau
    Norbert
     
    Posaune, 8. Oktober 2009
    #6
  7. Posaune Erfahrener User
    Aha Hallo Karin
    eben habe ich deinen Code geschnaggelt. :-)
    Wenn ich die Liste manuell Selektiere ohne verbundene Zelle und ohne Überschrift, so Sortiert mir der Code dann alles Richtig.
    Das war nicht ganz mein Problem.;-)
    Ich wollte ja durch einen Code automatisch die jeweils letzte Namensliste Selektieren um ihn anschließend automatisch mittels Code zu Sortieren.
    Wie gesagt meine Lösung geht mit Hilfszellen, warscheinlich gibt es eine schönere Lösung noch.
    Vielen Dank für die Hilfe
    Gruß NOrbert
     
    Posaune, 8. Oktober 2009
    #7
  8. Beverly
    Beverly Erfahrener User

    Variables Range Select ?

    Hi Norbert,

    des Menschen Wille ist sein Himmelreich ;-) - wenn du Hilfszellen verwenden möchtest anstelle einfach nur den Bereich im Tabellenblatt von Hand zu markieren, dann ist das deine Entscheidung und dein gutes Recht :-).

    In VBA kann man zu 99% auf Select verzichten. Ich habe den Code jetzt nicht getestet, aber es sollte diese eine Zeile für das Sortieren ausreichen:

    Code:
       Range(Cells(b, 1), Cells(a, 4)).Sort Key1:=Cells(b, 1).Address, Order1:=xlAscending, Key2:=Cells(b, 2).Address, Order2:=xlAscending, Header:=xlYes
    
    Bis später,
    Karin
     
    Beverly, 8. Oktober 2009
    #8
Thema:

Variables Range Select ?

Die Seite wird geladen...
  1. Variables Range Select ? - Similar Threads - Variables Range Select

  2. Range-Bereich mit Variablen definieren

    in Microsoft Excel Hilfe
    Range-Bereich mit Variablen definieren: Hallo zusammen, ich habe folgendes Problem: Ich möchte gerne einen bestimmten Bereich per Range mit Variablen definieren. Aktuell sieht das ganze so aus: Code: Dim i as Integer Dim...
  3. Range-Variable auslesen und einfügen

    in Microsoft Excel Hilfe
    Range-Variable auslesen und einfügen: Hi zusammen, dieses Forum ist voller schlauer Köpfe, deswegen wende ich mich wieder an euch. Ich habe ein einfüge-makro geschrieben, das aus einer andere Excel-Datei Daten in eine Range-Variable...
  4. excel vba range variable

    in Microsoft Excel Hilfe
    excel vba range variable: hallo, ich suche mit der find Methode nach unterschiedlichen Textstellen, die an verschieden Variablen übergeben werden. Sub suchentest() Dim stelle1 As Range Dim stelle2 As Range Dim text1 As...
  5. VLookup/Sverweis mit Variablen/Range

    in Microsoft Excel Hilfe
    VLookup/Sverweis mit Variablen/Range: Hallo zusammen, ich lese jetzt seit ein paar Wochen hier passiv mit, und habe nebenbei an einem kleinen Automatisierungsprojekt für die Arbeit gearbeitet. Soweit funktioniert alles ganz gut, nur...
  6. Ranges mit Variablen ansprechen

    in Microsoft Excel Hilfe
    Ranges mit Variablen ansprechen: Hallo Forum eine Frage habe ich noch heute, wie kann ich einen Bereich mithilfe einer Variablen anwählen? Nämlich Code: ThisWorkbook.Worksheets("Tabelle1").Range("C" &...
  7. Range in Variable schreiben und Variable zurück in Zellen kopieren

    in Microsoft Excel Hilfe
    Range in Variable schreiben und Variable zurück in Zellen kopieren: Hallo, Ich habe mir ein Makro geschrieben das bei nem Button-Click Zellenwerte von Zelle B nach A überschreibt. Nachdem das Makro ausgeführt wurde besteht keine Möglichkeit mehr Geschehenes...
  8. Variable Range VBA

    in Microsoft Excel Hilfe
    Variable Range VBA: Hallo zusammen ich weiß momentan häufen sich meine Probleme, aber das ist wohl so je mehr man sich mit VBA beschäftigt und noch nicht viel weiß. :-) Ich habe einen Code in dem Spalten von "I:BG"...
  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