Ankündigung

Einklappen
Keine Ankündigung bisher.

Excel Hilfe needed (Tabellen abgleichen)

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    #16
    Zitat von ali.
    funktioniert bei mir einwandfrei, wobei readmore auf dem rechner an der uni wirklich ein pest ist. sorry aber bei soviel werbung bin ich raus

    wenn sich werte ändern, einfach alles wieder weiß markieren und das makro neu laufen lassen... wo ist das problem?
    Du machst dabei halt genau den Fehler, auf den Slayer und ich hinweisen. Das Makro macht so keinen Sinn.
    OT: Zudem ist Sheets(1).Activate & AnzZeilen = ActiveSheet.UsedRange.Rows.Count nicht schön ;)



    Zitat von stickay
    wenn die anlagennummern nicht einzigartig sind, welches merkmal ist es dann? irgendwas muss es ja geben, was die einträge deutlich kennzeichnet um mehrfacheinträge zu vermeiden
    Es muss keine einzigartigen Werte geben, oftmals reicht es auch, dass sich eine Spalte in der Summe unterscheidet. Denke nicht, dass es hier eine Unique Spalte gibt.

    Kommentar


      #17
      Zitat von DerKiLLa
      Es muss keine einzigartigen Werte geben, oftmals reicht es auch, dass sich eine Spalte in der Summe unterscheidet. Denke nicht, dass es hier eine Unique Spalte gibt.
      ich glaube aber nicht, dass er ein ergebnis wie in deinem screenshot haben möchte. die einträge 6-20 haben sich ja nicht geändert, sondern nur deren position in der tabelle.
      ich denke er sucht eher sowas:


      wobei idealerweise noch irgendwo auskunft gegeben werden könnte, welche zeilen gelöscht wurden

      e: grad bemerkt, dass du mit dem screenshot nur den fehler voon ali darstellen möchtest, nvm ;)

      Kommentar


        #18
        Die einzige Zeile die einzigartig ist ist die Anlagenbezeichnung. Die sieht meistens so aus: XXX-AAA/123-XXX und hat ne eigene Zeile
        Leider nur meistens, gibt welche die Weichen ab. Sind aber auf jeden FAll einzigartig.
        Kann leider keine orginale hier posten, da würde man teilweise nicht ganz unsensible Daten rauslesen können.
        Und ja, so wie Stickay das gezeigt hat sollte das im Idealfall aussehen

        Kommentar


          #19
          Zitat von QTPie
          Die einzige Zeile die einzigartig ist ist die Anlagenbezeichnung. Die sieht meistens so aus: XXX-AAA/123-XXX und hat ne eigene Zeile
          Leider nur meistens, gibt welche die Weichen ab. Sind aber auf jeden FAll einzigartig.
          Kann leider keine orginale hier posten, da würde man teilweise nicht ganz unsensible Daten rauslesen können.
          Und ja, so wie Stickay das gezeigt hat sollte das im Idealfall aussehen
          Mit Zeile meinst du Spalte, denke ich?
          Was heißt "weichen ab"? Ist dann die Spalte nicht gefüllt?

          Kommentar


            #20
            Zitat von QTPie
            Kann leider keine orginale hier posten, da würde man teilweise nicht ganz unsensible Daten rauslesen können.
            Dann erstell ein Beispiel mit Fantasiewerten und 10 Zeilen und lade es hoch. So ist es doch unnötig kompliziert ...

            Kommentar


              #21
              Zitat von slayer
              Zitat von QTPie
              Die einzige Zeile die einzigartig ist ist die Anlagenbezeichnung. Die sieht meistens so aus: XXX-AAA/123-XXX und hat ne eigene Zeile
              Leider nur meistens, gibt welche die Weichen ab. Sind aber auf jeden FAll einzigartig.
              Kann leider keine orginale hier posten, da würde man teilweise nicht ganz unsensible Daten rauslesen können.
              Und ja, so wie Stickay das gezeigt hat sollte das im Idealfall aussehen
              Mit Zeile meinst du Spalte, denke ich?
              Was heißt "weichen ab"? Ist dann die Spalte nicht gefüllt?
              Sorry, ja natürlich Spalte.
              Es gibt bei der Bezeichnung 3 Möglichkeiten: Sie folgt dem obigen Muster, sie folgt einem anderen Muster (in etwa XXX-12/001/EG/100/V1/1/x-xxx11-1-eg-111-typ1234-1) oder es ist leer (-- im Feld).

              Beispiel hochladen ist schwierig, bin am Arbeitsrechner und hier sind praktisch alle Filehoster einschließlich Google Drive gesperrt.

              Ist aber eig einfach genug, kann ich auch hier machen:


              Nummer Bezeichnung X Y Z
              1 XXX-AAA/123-XXX abc def 5
              2 XXX-AAA/126-abc fgf oer 7
              3 XXX-AAA/009-342 oas kd 1
              5 -- rtz er 6
              6 XXX-AAA/123-uz io po 5



              So sieht das aus, nur obv mehr Spalten und mehr Zeilen.
              Alles außer Bezeichnung ist nicht einzigartig. Alles kann sich ändern. Zeilen können gelöscht werden, Spalten bleiben immer bestehen.
              Die "neue" Version wäre dann auf Tabellenblatt 2 und könnte so aussehen:


              Nummer Bezeichnung X Y Z
              1 XXX-AAA/123-XXX qwe rt 5
              2 XXX-AAA/126-abc fgf oer 7
              3 XXX-AAA/009-342 oas kd 1
              5 -- rtz er 6
              6 XXX-AAA/123-uz io po 5

              Kommentar


                #22
                Du hast ein Problem mit den leeren Anlagenbezeichnungen. Ich hab gerade bisschen was gemacht und mich dabei auf deine Aussage verlassen, dass es etwas einzigartiges gibt. Nun stellt sich heraus, dass es keine einzigartige Spalte gibt, prima.

                So hätte es dann ausgesehen:



                Funktioniert aber in deinem Fall nicht, durch die "--" Zeilen.

                Die einzige Möglichkeit auf die schnelle sehe ich darin, die leeren Zellen (--) nicht zu berücksichtigen und für die manuelle Kontrolle zu markieren. Oder hast du eventuell 2 Spalten, die sich nie ändern und zusammen einzigartig sind? Oder 3?

                Du brauchst irgendetwas einzigartiges, was nie doppelt vorkommt. Das kann auch ein String zusammengesetzt aus 2 oder 3 Spalten sein, hauptsache einzigartig.

                Kommentar


                  #23
                  Darf man fragen wie du das gelöst hast? Die -- Manuell zu überprüfen wäre in Ordnung, das sind nicht allzuviele

                  Kommentar


                    #24
                    Zitat von QTPie
                    Darf man fragen wie du das gelöst hast? Die -- Manuell zu überprüfen wäre in Ordnung, das sind nicht allzuviele
                    VBA. In welcher Spalte steht die einzigartige Anlagennummer und wie viele Spalten gibt es insgesamt?

                    Kommentar


                      #25
                      19 Spalten (A Bis S), die Nummer steht in Spalte B

                      Kommentar


                        #26
                        Naja, du könntest mit SVerweis arbeiten auf die Spalte Bezeichnung, allerdings musst du natürlich die ohne Bezeichnung ("--") rauslassen. (z.B. =Wenn(A2 "--";SVerweis(....);"") ).

                        https://www.dropbox.com/s/mjaua7j50diybhr/Vergleich.xls?dl=0

                        Hier mal ein Beispiel von mir, schnell hingezimmert. Noch nicht weiter mit geprüft, schaut auf den ersten Blick funktionsfähig aus, aber Killa kanns ja mal auseinander nehmen.
                        In Tabelle2 rechts die Tabelle ist nur zum Test der Formel gewesen.

                        Kommentar


                          #27
                          Hier mal das Makro:

                          Spoiler: 
                          Sub Vergleich()

                          ' Nummer der Spalte der Anlagennummer
                          Dim iAnlagennummer As Integer
                          iAnlagennummer = 4

                          ' Letzte Spalte als Buchstabe
                          Dim sLetztespalte As String
                          sLetztespalte = "S"

                          Sheets(1).Range("A2:" & sLetztespalte & "21").Interior.ThemeColor = xlThemeColorDark1
                          Sheets(2).Range("A2:" & sLetztespalte & "21").Interior.ThemeColor = xlThemeColorDark1

                          Dim i As Integer
                          Dim j As Integer
                          Dim k As Integer

                          Dim maxZahl1 As Integer
                          Dim maxZahl2 As Integer
                          Dim letzteSpalte As Integer

                          maxZahl1 = Sheets(1).Cells(Rows.Count, 1).End(xlUp).Row
                          maxZahl2 = Sheets(2).Cells(Rows.Count, 1).End(xlUp).Row
                          letzteSpalte = Sheets(1).Cells(1, 256).End(xlToLeft).Column

                          For i = 2 To maxZahl1
                          bFound = False
                          For j = 2 To maxZahl2
                          If Sheets(1).Cells(i, iAnlagennummer).Value = "--" Then
                          bFound = True
                          Sheets(1).Range("A" & i & ":" & sLetztespalte & i).Interior.ColorIndex = 7
                          Exit For
                          End If
                          If Sheets(1).Cells(i, iAnlagennummer) = Sheets(2).Cells(j, iAnlagennummer) Then
                          bFound = True
                          Sheets(1).Cells(i, iAnlagennummer).Interior.ColorIndex = 4
                          Sheets(2).Cells(j, iAnlagennummer).Interior.ColorIndex = 4
                          For k = 1 To letzteSpalte
                          If k iAnlagennummer Then
                          If Sheets(1).Cells(i, k) = Sheets(2).Cells(j, k) Then
                          Sheets(1).Cells(i, k).Interior.ColorIndex = 4
                          Sheets(2).Cells(j, k).Interior.ColorIndex = 4
                          Else
                          Sheets(1).Cells(i, k).Interior.ColorIndex = 8
                          Sheets(2).Cells(j, k).Interior.ColorIndex = 8
                          End If
                          End If
                          Next k
                          Exit For
                          End If
                          Next j
                          If bFound = False Then Sheets(1).Range("A" & i & ":" & sLetztespalte & i).Interior.ColorIndex = 3
                          Next i

                          For i = 2 To maxZahl2
                          If Sheets(2).Cells(i, iAnlagennummer).Value = "--" Then
                          Sheets(2).Range("A" & i & ":" & sLetztespalte & i).Interior.ColorIndex = 7
                          End If
                          If Sheets(2).Cells(i, iAnlagennummer).Interior.ColorIndex = 2 Then
                          Sheets(2).Range("A" & i & ":" & sLetztespalte & i).Interior.ColorIndex = 6
                          End If
                          Next i
                          End Sub


                          Das einzige was du eventuell mal ändern musst, sind die oberen beiden Variablen. In deinem Falle müsstest du also noch die 4 in eine 2 ändern. Das S stimmt ja bei 19 Spalten. Hier der Link zu Pastebin, da ist es schöner formatiert.

                          SVerweis ist nicht verkehrt, allerdings für den Zweck mMn nicht geeignet, da du damit nicht so leicht sehen kannst, wenn Spalten wegfallen oder dazukommen.

                          Kommentar


                            #28
                            Okay, Killa das scheint zu funktionieren.
                            Danke schonmal.


                            Magst mir noch evtl erklären was die Farben bedeuten? Grün=keine Veränderung, Türkis= Veränderung, was sagt mir Gelb?

                            Obwohl...da ist auch einiges Türkis was nicht geändert wurde

                            Kommentar


                              #29
                              Grün = Keine Veränderung
                              Türkis = Veränderung
                              Rot = Gelöschte Zeile
                              Gelb = Neue Zeile
                              Türkis = Markierte Zeile wegen --

                              Zitat von QTPie
                              Obwohl...da ist auch einiges Türkis was nicht geändert wurde
                              Bei mir passt alles, wie auf Seite 1 zu sehen.

                              Edit: Ups, moment.

                              Edit2: Ne, passt alles.

                              Kommentar


                                #30
                                Also bei iAnlagennummer = 2 wird praktisch alles rot, nur die -- werden lila. Neue Zeile unten wird Türkis.
                                Also entweder ich hab was falsch oder da läuft was schief.

                                Kommentar

                                Lädt...
                                X