Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1528to1532
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Bitte um Hilfe

Bitte um Hilfe
06.12.2016 16:50:05
Michl
Hallo zusammen,
ich durchuche zeilenweiße ein Tabellenblatt nach einem Suchbegriff. Enthält eine Zeile diesen, soll die komplett Zeile in der das Suchwort enthalten ist in ein neues Tabellenblatt kopiert werden. Dieses neue Tabellenblatt soll ganz am Ende per ListBox ausgegeben werden. Bei meiner momentanen Variante dauert das leider sehr lange. Gibt es eine möglichkeit dies geschickter zu programmieren?
Vielen Dank für die Hilfe.
Dim z As Integer
Dim zz As Integer
Dim zzz As Integer
Dim zzzz As Integer
Dim zzzzz As Integer
Dim zmax As Integer
Dim i As Integer
i = 1
Art = ComboBox1.Text
Bereich = ComboBox3.Text
Norm_Richtlinie = ComboBox4.Text
Inhalt = ComboBox6.Text
If Not Art = "" Then
If Bereich = "" And Norm_Richtlinie = "" And Blatt = "" And Inhalt = "" Then
Dim ws As Worksheet
Set ws = Worksheets("Normen&Richtlinien")
ws.Activate
letztezeile = ws.Cells(Rows.Count,End(xlUp).Row
zmax = letztezeile
Worksheets("Tabelle1").Cells.Clear
For z = 1 To zmax
With ws.Range("A"&z)
Set C = .Find(Art)
If Not (C Is Nothing) Then
C.EntireRow.Select
Selection.EntireRow.Copy Destination:=Worksheets("Tabelle1").Range("A" & i)
i = i + 1
End If
End With
Next z
Call LB_Akt
End If

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bitte um Hilfe
06.12.2016 16:52:14
Bastian
Lad mal eine Bsp Datei hoch
Gruß basti
AW: Bitte um Hilfe
06.12.2016 17:18:20
Daniel
Hi
Zeilenweise durchsuchen und kopieren ist in Excel immer langsam.
es gibt verschiedene Methoden, das ganze wesentlich schneller durchzuführen.
eine mögliche wäre diese:
1. kopiere die ganze Tabelle ins neue Tabellenblatt
2. lösche dann die nicht benötigten Zeilen. Zum löschen der Zeilen gehe so vor:
3. schreibe am Tabellenende in die erste freie Spalte eine Formel, welche alle zu löschenden Zeilen mit 0 kennzeichnet und alle die die stehen bleiben sollen, mit der aktuellen Zeilennummer
4. schreibe in die Überschriftenzeile der Hilfsspalte ebenfalls die 0
5. wende dann auf die ganze Tabelle das DATEN - DATENTOOLS - DUPLIKATE ENTFERNEN mit der Hilfsspalte als Kriterium und der Option "keinen Überschrift" an.
das entfernt dann alle Zeilen die eine 0 in der Hilfsspalte haben.
6. lösche die Hilfsspalte und ggf die Überschriftenzeile wieder.
das geht natürlich auch per Code
ich gehe mal davon aus, dass in Normen&Richtilinen die erste Zeile die Überschrift ist:
Art = ComboBox1.Text
with worksheets("Tabelle1")
'--- alles kopieren
.Cells.clear
Worksheets("Normen&Richtlinien").usedrange.Copy
.Cells(1, 1).pastespecial xlpasteall
'--- nicht benötigtes löschen
With .Cells(1,1).CurrentRegion
with .columns(.columns.Count) + 1)
.FormulaR1C1 = "=IF(countif(RC1, ""*" & Art & "*""),Row(),0)"
.Cells(1, 1).Value = 0
.EntireRow.RemoveDuplicates .column, xlno
.Clearcontents
End with
end with
.Rows(1).Delete '--- Überschrift entfernen
end with
Gruß Daniel
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige