Collapse column

Autor Thema: Office 2010: Makro Performance Problem  (Gelesen 1073 mal)

Offline Feldmann

  • Newbie
  • *
  • Beiträge: 7
    • Profil anzeigen
  • Office-KnowHow: Fortgeschritten
  • VBA-KnowHow- : Wenig
  • Version [Office] : Office 2010
Office 2010: Makro Performance Problem
« 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
« Letzte Änderung: Mai 02, 2014, 11:25:13 Vormittag von Feldmann »

Keine Lösung gefunden? Du kannst Dich gerne an unser erfahrenes Experten-Team wenden und Dein Anliegen in Auftrag geben.
>>> Schnell und einfach ein unverbindliches Angebot anfordern. Per E-Mail an anfrage@excel-inside.de oder per Online-Formular
<<<

!!! Wichtige Information
!!! Dieses Forum steht aus technischen Gründen ab dem 11. September 2019 nur noch im Lesemodus zur Verfügung.
Das NEUE Office-Fragen-Forum kannst du aber unter der gewohnten Domain https://office-fragen.de wie gewohnt nutzen.

- Wir freuen uns auf deinen Besuch im neuen Forum.

Offline maninweb

  • Global Moderator
  • Hero Member
  • *****
  • Beiträge: 1.063
    • Profil anzeigen
    • Excel Formula Translator
  • Office-KnowHow: Experte
  • VBA-KnowHow- : Sehr gut
  • Version [Office] : Office 2016
Antw: Office 2010: Makro Performance Problem
« Antwort #1 am: Mai 02, 2014, 19:43:05 Nachmittag »
Hallo Feldmann,

Du könntest hier mal reinschauen 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ß
Microsoft Excel Expert · Microsoft Most Valuable Professional (MVP) from 01/2011 - 06/2019
https://de.excel-translator.de :: Online Excel-Formel-Übersetzer :: Alle Übersetzungen der Excel Funktionen & Fehlerwerte

Wenn du dich noch intensiver mit Excel beschäftigen möchtest, dann empfiehlt sich ein Online-Kurs,
in dem du sehr viel über Excel erfährst und das gelernte umgehend in der Praxis anwenden kannst.