Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender Navigationstipps
Inhaltsverzeichnis

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

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

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

118 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige