Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Mehere Elemente automatisch auswählen

Frage Entwicklung VB for Applications

Mitglied: jaydotkay

jaydotkay (Level 1) - Jetzt verbinden

22.05.2014, aktualisiert 14:05 Uhr, 806 Aufrufe, 2 Kommentare

Hallo Experten,

ich bräuchte mal wieder einen Tipp von euch.

Meine Situation ist folgende:
Ich habe einige sehr lange Spalten mit Daten. Einige Zeilen (bspw. 90.000 von 150.000) sollen aussortiert werden.

Eine Abfrage die detektiert, welche Zeilen (-nummern) gelöscht werden sollen, habe ich bereits. Anschließend wird die jeweilige Zeile einzeln gelöscht.

Nun mein Problem:
Es dauert ewig jede einzelne Zeile zu löschen.

Meine Idee:
Zu löschende Zeilen auf einmal selektieren und löschen.

Ist das ein gangbarer Weg die Zeit zu verkürzen? Wenn ja, wie kann ich eine weitere Zeile selektieren, ohne die vorher selektierte Zeile zu DE-selektieren?

Danke und viele Grüße
Jaydotkay
Mitglied: colinardo
LÖSUNG 22.05.2014, aktualisiert um 14:05 Uhr
Hallo Jaydotkay,
ich würde die Zeilen in einem Range-Objekt mit Union() zusammenfassen und dann ganz zum Schluss nach dem Durchlauf der Schleife dieses Range-Objekt löschen lassen.
Es ist aber auf jeden Fall immer besser nicht mit der Selection sondern mit Ranges zu arbeiten, da so keine echte sichtbare Selektion stattfindet und dadurch den Vorgang zusätzlich beschleunigt.

Ich habe so was ähnliches mal für das Löschen von leeren Zeilen geschrieben:
01.
Sub delEmptyRows() 
02.
    Dim rngCells As Range, cell As Range, rngCombined As Range, sheet As Worksheet 
03.
    Set sheet = Worksheets(1) 
04.
    Set rngCells = sheet.Range("A1", sheet.Range("A65535").End(xlUp)) 
05.
    For Each cell In rngCells 
06.
        If cell.Value = "" Then 
07.
            If rngCombined Is Nothing Then 
08.
                Set rngCombined = cell.EntireRow 
09.
            End If 
10.
            Set rngCombined = Union(rngCombined, cell.EntireRow) 
11.
        End If 
12.
    Next 
13.
    If Not rngCombined Is Nothing Then 
14.
        rngCombined.Delete 
15.
    End If 
16.
End Sub
Grüße Uwe
Bitte warten ..
Mitglied: jaydotkay
22.05.2014 um 14:07 Uhr
Top, Vielen Dank!

Auch der Code hat gleich alle weitere Fragen geklärt...

Gruß
Jaydotkay
Bitte warten ..
Ähnliche Inhalte
iOS
IOS 11 lagert Apps automatisch in die Cloud aus

Link von sabines zum Thema iOS ...

Batch & Shell
gelöst Zusammenführen mehrere Felder, Datei auswählen (3)

Frage von GeoSem zum Thema Batch & Shell ...

Microsoft Office
gelöst Elemente in Outlook-Aufgaben lassen sich nicht mehr öffnen (3)

Frage von HSHans zum Thema Microsoft Office ...

Windows Server
gelöst Automatisch erstellen von Ordner (9)

Frage von MeisterFuchs zum Thema Windows Server ...

Neue Wissensbeiträge
Heiß diskutierte Inhalte
Festplatten, SSD, Raid
PC stellt nach dem Bios ab (20)

Frage von uridium69 zum Thema Festplatten, SSD, Raid ...

Server-Hardware
Einem Stromausfall entgegen wirken (19)

Frage von OIOOIOOIOIIOOOIIOIIOIOOO zum Thema Server-Hardware ...

Windows 7
Freeware MSI Tool (13)

Frage von uridium69 zum Thema Windows 7 ...

Microsoft Office
gelöst VBA Excel Problem mit UserForm, ListBox und TextBox (12)

Frage von abuelito zum Thema Microsoft Office ...