Thema Datum  Von Nutzer Rating
Antwort
14.02.2017 11:50:38 Ferdinand
NotSolved
15.02.2017 13:01:02 Andreas
NotSolved
15.02.2017 14:41:12 Gast38556
NotSolved
Blau Brauche Hilfe mit Tabellenvergleich
15.02.2017 17:41:29 Andreas
NotSolved

Ansicht des Beitrags:
Von:
Andreas
Datum:
15.02.2017 17:41:29
Views:
586
Rating: Antwort:
  Ja
Thema:
Brauche Hilfe mit Tabellenvergleich

Ich denke jetzt hab ichs verstanden.

habe da was vorbereitet. Teste es bitte in einer Dummydatei, nicht das am Ende noch eine Daten verloren gehen.
Wenn in VBA etwas überschrieben wird lässt es sich nicht mehr Rückgängig machen.

Erzeuge bitte zwei Module:
1x Programm

Sub Hauptprogramm()

Dim ProdNotInTab2 As Boolean
Dim StartZeile As Integer
Dim AnzahlZeilen As Integer
Dim ZeilenTab2  As Integer
Dim Zaehler1 As Integer
Dim Zaehler2 As Integer
Dim Zaehler3 As Integer
Dim ProduktLvl1 As String

ZeilenTab2 = ActiveWorkbook.Sheets("Tabelle2").Cells(Rows.Count, 1).End(xlUp).Row

Zaehler1 = 2

Do
               
    If ActiveWorkbook.Sheets("Tabelle1").Cells(Zaehler1, 1).Value = 1 Then
        ProduktLvl1 = ActiveWorkbook.Sheets("Tabelle1").Cells(Zaehler1, 3).Value
        
        For Zaehler2 = 2 To ZeilenTab2
            
            If ProduktLvl1 = ActiveWorkbook.Sheets("Tabelle2").Cells(Zaehler2, 3).Value Then
                ProdNotInTab2 = True
                Exit For
            Else
                ProdNotInTab2 = False
            End If
            
        Next Zaehler2
        
        If ProdNotInTab2 Then
        
            Zaehler3 = Zaehler2 + 1
            
            Do Until ActiveWorkbook.Sheets("Tabelle2").Cells(Zaehler3, 1) = 2 Or ActiveWorkbook.Sheets("Tabelle2").Cells(Zaehler3, 1) = ""
                Zaehler3 = Zaehler3 + 1
            Loop
            
            StartZeile = Zaehler1 + 1
            AnzahlZeilen = Zaehler3 - (Zaehler2 + 1)
            
            Call ZeileEinfuegen(StartZeile, AnzahlZeilen)
            Worksheets("Tabelle2").Range("A" & StartZeile, "D" & Zaehler1 + AnzahlZeilen).Copy
            Worksheets("Tabelle1").Range("A" & StartZeile, "D" & Zaehler1 + AnzahlZeilen).PasteSpecial xlPasteValues
        End If
    
    End If
    Zaehler1 = Zaehler1 + 1

Loop Until ActiveWorkbook.Sheets("Tabelle1").Cells(Zaehler1, 1).Value = Empty


End Sub

1x ZeilenEinfügen

Function ZeileEinfuegen(ZeileStart As Integer, AnzZeilen As Integer)

Dim Zaehler As Integer

For Zaehler = ZeileStart To ZeileStart + AnzZeilen - 1

    ActiveWorkbook.Sheets("Tabelle1").Cells(Zaehler, 1).EntireRow.Insert

Next Zaehler

End Function

Probiere es mal aus und melde dich wieder, wie es funktioniert hat.
Kommentare kann ich die bei Gelegenheit auch nochmal ran basteln.
Wieviele Zeilen hat Eigentlich deine Tabelle 2?
über 32000?
Das ist wichtig, da dann der Fehler Index außerhalb des Bereich auftritt, denn die Schleifen verarbeiten nur Integer.

Gruß
Andreas


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
14.02.2017 11:50:38 Ferdinand
NotSolved
15.02.2017 13:01:02 Andreas
NotSolved
15.02.2017 14:41:12 Gast38556
NotSolved
Blau Brauche Hilfe mit Tabellenvergleich
15.02.2017 17:41:29 Andreas
NotSolved