Thema Datum  Von Nutzer Rating
Antwort
Rot Mein Code ist zu kompliziert bzw. zu lang
19.12.2016 16:35:42 Johannes
NotSolved
19.12.2016 17:45:31 Gast98331
NotSolved
19.12.2016 18:07:21 Gast43059
NotSolved
19.12.2016 19:41:07 Gast42924
NotSolved
19.12.2016 20:25:00 Johannes
NotSolved
19.12.2016 20:41:32 Gast60101
Solved
20.12.2016 09:25:07 Johannes
NotSolved
20.12.2016 09:35:17 Johannes
NotSolved
20.12.2016 17:24:19 Gast67265
NotSolved
22.12.2016 14:28:49 Johannes
NotSolved
19.12.2016 18:50:34 Mackie
NotSolved
19.12.2016 20:24:12 Johannes
NotSolved
19.12.2016 20:40:33 Mackie
NotSolved

Ansicht des Beitrags:
Von:
Johannes
Datum:
19.12.2016 16:35:42
Views:
1334
Rating: Antwort:
  Ja
Thema:
Mein Code ist zu kompliziert bzw. zu lang

Hallo liebe Helfer,

ich bin neu im Umgang mit VBA und habe mir in den letzten Tagen alles selbst beigebracht. Dabei stoße ich natürlich immer wieder an Grenzen und habe das Gefühl, dass ich manche Codes zu kompliziert bastle da ich nicht alle Kniffe kenne.

Meine Versuche derzeit bestimmte Werte in ein großes Tabellenblatt aus einem "kleineren" Tabellenblatt zu überführen. Beim großen Blatt (Tabelle1) handelt es sich um eine Datensammlung. Das kleinere Tabellenblatt (Tabelle2) umfasst eine Auswahl nach bestimmten Kriterien. Die Werte, welche ich aus dem Tabellenblatt 2 in die Tabelle1 überführen möchte, sollen natürlich den Passenden Zellen, Spalten und Zeilen zugeordnet werden.

Für mich erscheint mein komplizierter Code als logisch. Allerdings ist Excel nach einer halben Stunde immernoch nicht fertig mit der Umsetzung des Codes. Liegt dies daran, dass ich zuviele If und Do Until Verkettungen habe, welche viel Zeit zum durchrechnen benötigen? Oder fehlt ein Stopper im Code?

Private Sub CommandButton1_Click()

lSpalte = 13
pSpalte = 13
aZeile = 52
bZeile = 52

Do Until pSpalte = 263

        Do Until lSpalte = 263
        If Tabelle2.Cells(5, lSpalte).Value = Tabelle1.Cells(5, pSpalte).Value Then
        Tabelle1.Cells(5, pSpalte).Value = Tabelle2.Cells(5, lSpalte).Value
        Tabelle1.Cells(7, pSpalte).Value = Tabelle2.Cells(7, lSpalte).Value
        Tabelle1.Cells(8, pSpalte).Value = Tabelle2.Cells(8, lSpalte).Value
        Tabelle1.Cells(9, pSpalte).Value = Tabelle2.Cells(9, lSpalte).Value
        Tabelle1.Cells(10, pSpalte).Value = Tabelle2.Cells(10, lSpalte).Value
        Tabelle1.Cells(11, pSpalte).Value = Tabelle2.Cells(11, lSpalte).Value
        Tabelle1.Cells(14, pSpalte).Value = Tabelle2.Cells(14, lSpalte).Value
        Tabelle1.Cells(15, pSpalte).Value = Tabelle2.Cells(15, lSpalte).Value
        Tabelle1.Cells(17, pSpalte).Value = Tabelle2.Cells(17, lSpalte).Value
            Do Until bZeile = 251
                Do Until aZeile = 251
                    If Tabelle2.Cells(aZeile, 5).Value = Tabelle1.Cells(bZeile, 5).Value Then
                    Tabelle1.Cells(bZeile, pSpalte).Value = Tabelle2.Cells(aZeile, lSpalte).Value
                    aZeile = aZeile + 1
                    Else
                    aZeile = aZeile + 1
                    End If
                Loop
                bZeile = bZeile + 1
                aZeile = 52
            Loop
            
        bZeile = 52
        aZeile = 52
        lSpalte = lSpalte + 1
        Else
        lSpalte = lSpalte + 1
    
        End If
    Loop
aZeile = 52
bZeile = 52
pSpalte = pSpalte + 1
lSpalte = 13
Loop



End Sub



Vielen Dank für jedwede Hilfe!


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 Mein Code ist zu kompliziert bzw. zu lang
19.12.2016 16:35:42 Johannes
NotSolved
19.12.2016 17:45:31 Gast98331
NotSolved
19.12.2016 18:07:21 Gast43059
NotSolved
19.12.2016 19:41:07 Gast42924
NotSolved
19.12.2016 20:25:00 Johannes
NotSolved
19.12.2016 20:41:32 Gast60101
Solved
20.12.2016 09:25:07 Johannes
NotSolved
20.12.2016 09:35:17 Johannes
NotSolved
20.12.2016 17:24:19 Gast67265
NotSolved
22.12.2016 14:28:49 Johannes
NotSolved
19.12.2016 18:50:34 Mackie
NotSolved
19.12.2016 20:24:12 Johannes
NotSolved
19.12.2016 20:40:33 Mackie
NotSolved