Bereich durchlaufen, Daten zusammenführen

Bild

Betrifft: Bereich durchlaufen, Daten zusammenführen
von: Captain Jack Sparrow
Geschrieben am: 05.05.2015 07:19:27

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

Bild

Betrifft: AW: Bereich durchlaufen, Daten zusammenführen
von: JoWE
Geschrieben am: 05.05.2015 09:35:14
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

Bild

Betrifft: AW: Bereich durchlaufen, Daten zusammenführen
von: Captain Jack Sparrow
Geschrieben am: 05.05.2015 10:59:39
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

Bild

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

Bild

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

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Bereich durchlaufen, Daten zusammenführen"