Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Bereich durchlaufen, Daten zusammenführen

Bereich durchlaufen, Daten zusammenführen
05.05.2015 07:19:27
Captain
Moin @all,
ich habe in meiner Mappe 30 Tabellen, 5 davon sind für meinen u.a. Code nicht relevant. Mein Code funzt auch, nur ist der leider sehr langsam :-(
In jeder der restlichen "Quelltabellen" (25) sollen alle Zellen im Bereich Q4:V20 nach Inhalten durchlaufen werden. Sind Werte vorhanden, sollen diese gebündelt und untereinander ab der Zelle G25 inkl. Nummerierung aufgeschrieben werden.
Warum ist der Code sooooo langsam? ;-(
Danke für euer Hilfe
Jack

Sub Wie_ofts()
End Sub
WS_Count = ActiveWorkbook.Worksheets.Count
For AnzTabellen = 1 To WS_Count
If Worksheets(AnzTabellen).Name = "tblÜberblick" Or Worksheets(AnzTabellen).Name = " _
Einstellungen" Or _
Worksheets(AnzTabellen).Name = "Template" Or Worksheets(AnzTabellen).Name = "Bilder" _
Or _
Worksheets(AnzTabellen).Name = "Auswertung" Then
'nix
Else
Worksheets(AnzTabellen).Select
intZielzeile = 26
With ActiveSheet
'alte Werte löschen
.Rows("26:50").Select
Selection.Delete Shift:=xlUp
'Quellspalte Q:V
For intSpaltenquelle = 17 To 22
'Quellzeile 4:20
For intZeilenQuelle = 4 To 20
If .Cells(intZeilenQuelle, intSpaltenquelle)  "" Then
.Cells(intZielzeile, 7) = ActiveSheet.Cells(intZeilenQuelle,  _
intSpaltenquelle)
'Nummerierung
.Cells(intZielzeile, 6) = intZielzeile - 25
intZielzeile = intZielzeile + 1
Else
'nix
End If
Next intZeilenQuelle
Next intSpaltenquelle
End With
End If
Next AnzTabellen
End Sub

Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bereich durchlaufen, Daten zusammenführen
05.05.2015 09:35:14
JoWE
Hallo J.
viel zu viel 'select'!
Versuchs mal ohne select:
Option Explicit
Sub Wie_ofts()
Dim myTab As Long
Dim intZielZeile As Long
Dim intSpaltenQuelle As Long
Dim intZeilenQuelle As Long
For myTab = 1 To Worksheets.Count
Select Case Worksheets(myTab).Name
Case Is = "tblÜberblick", "Einstellungen", "Template", "Bilder", "Auswertung"
'nix tun
Case Else
intZielZeile = 26
With Worksheets(myTab)
'alte Werte löschen
.Rows("26:50").Delete Shift:=xlUp
'Quellspalte Q:V
For intSpaltenQuelle = 17 To 22
'Quellzeile 4:20
For intZeilenQuelle = 4 To 20
If .Cells(intZeilenQuelle, intSpaltenQuelle)  "" Then
.Cells(intZielZeile, 7) = _
ActiveSheet.Cells(intZeilenQuelle, intSpaltenQuelle)
'Nummerierung
.Cells(intZielZeile, 6) = intZielZeile - 25
intZielZeile = intZielZeile + 1
End If
Next intZeilenQuelle
Next intSpaltenQuelle
End With
End Select
Next
End Sub

Gruß
Jochen

Anzeige
AW: Bereich durchlaufen, Daten zusammenführen
05.05.2015 10:59:39
Captain
Hi Jochen,
vielen Dank für Deine Mühe. Natürlich funktioniert der Code, vom Gefühl allerdings würde ich sagen, dass eine Verbesserung im Sinne der Geschwindigkeit nicht stattfindet. Klar ist mir auch, dass ich im Prinzip viele Zellen durchlaufe....
Danke dennoch
Jack

die üblichen Kandidaten
05.05.2015 12:34:34
Rudi
Hallo,
temporär Bildschirmaktualisierung aus, Berechnung manuell.
Recherche: GetMoreSpeed oder GMS
Gruß
Rudi

Anzeige
AW: die üblichen Kandidaten
05.05.2015 14:56:20
Captain
Hi Rudi,
danke... ich guck mal und teste .-)
Jack
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige