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, 804 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
Voice over IP
Asterisk - OpenStage40 automatisch provisionieren

Frage von DianiBeach zum Thema Voice over IP ...

Batch & Shell
Spoiler in textdatei automatisch über Powershellscript einfügen (5)

Frage von Dr.Byte zum Thema Batch & Shell ...

Windows Server
Geplante Tasks starten nicht automatisch

Frage von TiTux zum Thema Windows Server ...

Neue Wissensbeiträge
RedHat, CentOS, Fedora

Fedora, RedHat, Centos: DNS-Search Domain setzen

(13)

Tipp von Frank zum Thema RedHat, CentOS, Fedora ...

Drucker und Scanner

Samsung SL-M4025ND, firmware update und (kompatible) Tonerkassetten

(1)

Erfahrungsbericht von markus-1969 zum Thema Drucker und Scanner ...

Heiß diskutierte Inhalte
CMS
Lokales Wordpress im LAN - wie aufsetzen? (16)

Frage von Static zum Thema CMS ...

LAN, WAN, Wireless
IP im privaten Netz nicht erreichbar (14)

Frage von guntis zum Thema LAN, WAN, Wireless ...

Windows Userverwaltung
gelöst Wie verfahrt Ihr mit den Windows-Benutzerkonten und -dateien von ausgeschiedenen Mitarbeitern? (14)

Frage von Bl0ckS1z3 zum Thema Windows Userverwaltung ...

Java
gelöst Net user per script aus txt oder csv für FTP (14)

Frage von OlliPWS zum Thema Java ...