Microsoft Office Forum [ www.Office-Fragen.de ] >> READONLY <<

Microsoft Office 2003-2019 => Excel => Thema gestartet von: Feldmann am Mai 02, 2014, 10:22:02 Vormittag

Titel: Office 2010: Makro Performance Problem
Beitrag von: Feldmann am Mai 02, 2014, 10:22:02 Vormittag
[Erledigt]------------------------------------------------------------

Ich habe mal wieder ein kleines Problem:

Ich habe ein Makro, das alle Werte in einer Spalte (K) löscht und anschließend aus einer Spalte (A) alle Werte ohne Duplikate in diese Spalte (K) schreibt. Das funktioniert auch soweit ganz gut.

Nun habe ich aber einen dynamischen Namen für den Bereich (K) definiert und nach jedem durchlauf den Makros fehlt ihm der Bezug.

Vielleicht gibt es einen anderen Befehl zum löschen, der den Bezug nicht beeinflusst

In der Spalte (A) habe ich ein Dropdown Menü hinterlegt, das auf den definierten Namen der Liste (K) zurückgreift. Ich möchte quasi ein Dropdown Menü in Spalte A haben, das sich aktuallieisert, wenn ein neuer Wert/Name in A eingegeben wird, der noch nciht im Dropdown Menü vorhanden ist.

Ich häng euch auch mal eine Beispieldatei an.

[Erledigt] ------------------------------------------------------------------------------

Neues Problem

Jetzt habe ich z als Integer definiert, damit ich eine größer Datenreihe prüfen kann. Im Moment sind es 7500 Zellen die geprüft werden. Das dauert zu lange.

Sub ListeOhneDoppelten()
    Dim z As Integer
    Dim Ausgabe As String
    Dim Bereich As Range, Zelle As Range
   
    Set Bereich = [B2:B7500]
    Ausgabe = "K" 'Spalte hier ändern
    z = 0

    For Each Zelle In Bereich
        If z > 0 Then
            If Application.WorksheetFunction.CountIf(Range( _
                Ausgabe & "1:" & Ausgabe & z), Zelle) = 0 Then
                z = z + 1
                Cells(z, Ausgabe) = Zelle
            End If
        Else
            z = 1
            Cells(z, Ausgabe) = Zelle
        End If
    Next
    Range(Ausgabe & "1:" & Ausgabe & z).Sort _
        Key1:=Range(Ausgabe & "1"), Order1:=xlAscending
End Sub
Titel: Antw: Office 2010: Makro Performance Problem
Beitrag von: maninweb am Mai 02, 2014, 19:43:05 Nachmittag
Hallo Feldmann,

Du könntest hier mal reinschauen http://www.excelformeln.de/formeln.html?welcher=194 (http://www.excelformeln.de/formeln.html?welcher=194)

Möglicherweise findet sich eine Lösung ohne VBA. Das das sehr lange dauert, kann an der
Zählenwenn-Funktion liegen, die bei vielen Daten recht langsam ist. Falls es VBA sein muss,
würde sich eher eine Collection zu Filtern der Doppler anbieten.

Gruß