Thema Datum  Von Nutzer Rating
Antwort
Rot Makro mit vielen Tabellenblättern
14.12.2020 02:29:13 Sebastian
NotSolved
14.12.2020 10:15:50 volti
NotSolved
14.12.2020 11:58:25 Ulrich
NotSolved
14.12.2020 12:01:56 Gast32764
NotSolved
14.12.2020 17:33:20 volti
NotSolved
14.12.2020 19:25:50 Gast90153
NotSolved
14.12.2020 19:43:24 volti
NotSolved
14.12.2020 20:02:45 Sebastian
NotSolved
15.12.2020 00:47:45 volti
NotSolved
15.12.2020 01:32:41 Sebastian
NotSolved
15.12.2020 09:50:05 volti
NotSolved
15.12.2020 14:47:55 Sebastian
NotSolved
15.12.2020 15:19:33 volti
NotSolved
15.12.2020 16:05:40 volti
NotSolved
28.02.2021 23:46:30 Sebastian
NotSolved
01.03.2021 09:22:12 volti
NotSolved

Ansicht des Beitrags:
Von:
Sebastian
Datum:
14.12.2020 02:29:13
Views:
1457
Rating: Antwort:
  Ja
Thema:
Makro mit vielen Tabellenblättern

Hallo!

Ich bastle im Moment an einem Makro, bei dem Daten aus einem Gesamtverzeichnis ausgelesen werden und in Abhängigkeit in einzelne passende Tabellenblätter kopiert werden, sodass man aus einem großen, chaotischen Verzeichnis viele sortierte kleine Verzeichnisse bekommt.

An sich - es funktioniert. Das Makro ist hauptsächlich Copy&Paste, deswegen hier nur der Ansatz (hab ich erweitert auf eben über 20 Tabellenblätter):

Option Explicit

Sub Zusammenfassung()

Dim i, a, b As Integer
Dim tbl1, tbl2 As ListObject
Dim loLetzte As Integer

Set tbl1 = Worksheets("xxx").ListObjects("Tabelle13")
Set tbl2 = Worksheets("yyy").ListObjects("Tabelle14")

If tbl1.ListRows.Count >= 1 Then
    tbl1.DataBodyRange.Delete
End If

If tbl2.ListRows.Count >= 1 Then
    tbl2.DataBodyRange.Delete
End If

a = 1
b = 1

With Worksheets("GSV").ListObjects("Tabelle1").DataBodyRange
    loLetzte = .Cells(.Rows.Count, 1).End(xlUp).Row
    For i = 1 To loLetzte
 
        If .Cells(i, 2) = "xxx" Then
            .Rows(i).Copy Destination:=Worksheets("xxx").Range(tbl1).Rows(a)
            a = a + 1
        End If

        If .Cells(i, 2) = "yyy" Then
            .Rows(i).Copy Destination:=Worksheets("yyy").Range(tbl2).Rows(b)
            b = b + 1
        End If

    Next i
End With

End Sub

Insgesamt geht es hier um über 1000 Zeilen, die auf über 20 Tabellenblätter aufgeteilt werden sollen.

Zwei Probleme:
1. Er hört ab dem 10. Tabellenblatt einfach auf. Selbst wenn ich das Makro verkleinere und ab dem 10. Tabellenblatt beginnen lassen, führt es nichts aus. Woran kann das liegen? Es ist der selbe Code wie bei den Tabellenblättern 1-9...
2. Bis das Makro fertig ist, dauert es locker 30 Sekunden, ich denke mal je nach Computer noch viel länger. Habt ihr eine Idee, wie das Ganze effizienter geht?

 

Bin euch echt dankbar für Antworten!


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot Makro mit vielen Tabellenblättern
14.12.2020 02:29:13 Sebastian
NotSolved
14.12.2020 10:15:50 volti
NotSolved
14.12.2020 11:58:25 Ulrich
NotSolved
14.12.2020 12:01:56 Gast32764
NotSolved
14.12.2020 17:33:20 volti
NotSolved
14.12.2020 19:25:50 Gast90153
NotSolved
14.12.2020 19:43:24 volti
NotSolved
14.12.2020 20:02:45 Sebastian
NotSolved
15.12.2020 00:47:45 volti
NotSolved
15.12.2020 01:32:41 Sebastian
NotSolved
15.12.2020 09:50:05 volti
NotSolved
15.12.2020 14:47:55 Sebastian
NotSolved
15.12.2020 15:19:33 volti
NotSolved
15.12.2020 16:05:40 volti
NotSolved
28.02.2021 23:46:30 Sebastian
NotSolved
01.03.2021 09:22:12 volti
NotSolved