Excel: Wie kann ich erkennen ob Zeile geändert wurde

Dieses Thema Excel: Wie kann ich erkennen ob Zeile geändert wurde im Forum "Microsoft Office Suite" wurde erstellt von Ginkgo, 8. Feb. 2005.

Thema: Excel: Wie kann ich erkennen ob Zeile geändert wurde Hallo, Ich habe eine Exceltabelle in der verschiedene Leute editieren. Ich möchte gerne, dass die erste Zelle sich...

  1. Hallo,

    Ich habe eine Exceltabelle in der verschiedene Leute editieren.
    Ich möchte gerne, dass die erste Zelle sich ändert, mit datum oder einem Kreuz o.ä. wenn irgendwo in der Zeile eine Zelle verändert wurde.
    Ist das möglich?

    Danke schon mal
     
  2. Hallo hier Heck,
    schau doch einfach auf den Timestamp (ChangeTime) des Files... *verdamt*
     
  3. Ola,

    und wo bitte steht im Timestamp die Zeile, in der die Änderung war?
    *Applaus für die Antwort*

    Das geht m.e. nurt mit einem Makro, dass die Änderungen in den Zeilen prüft und dann gezielt eine andere Zelle verändert. Es muss im Forum dazu schon eine Lösung geben ....

    Treffer: http://www.wintotal-forum.de/index.php/topic,5872.15.html
     
  4. Moin,

    also soweit ich den anderen Thread vestanden habe, kommt die Meldung über die Änderung der Zellle immer sofort. Das Problem ist das die Excel tapete von mehreren gepflegt wird und ich am Ende sehen will welche Zeilen ich in Augenschein nehmen muss weil dort etwas geändert wurde. :-\
    Am liebsten wäre mir ja das dann in die erste Zelle der Reihe ein x o.ä. geschrieben wird und ich über autofilter diese dann rausfiltern kann.
    Oder geht das auch so ähnlich mit vb? habe davon allerdings nicht viel Plan... :(
     
  5. Ola,

    also prinzipiell sollte es gehen, wenn die Meldung durch das Schreiben eines Wertes in eine bestimmte Zelle der gleichen Zeile ersetzt wird.
    In welche Spalte hättest Du es denn gern? Spalte A? In welchen Splaten erfolgen denn die Änderungen? Wie groß ist der Bereich, der aus Änderungen kontrolliert werden soll?
     
  6. Hallihallo, :)
    also ich hatte mir gedacht in SPalte A den Indikator für eine Ändrung anzeigen zu lassen. Dann habe ich 3 Spalten in denen die User Änderungen vornehmen und das ganze kann auf ca 200 Zeilen anwachsen. Im Moment sind es 80...
    Besteht noch Hoffnung für den Patienten? ???
     
  7. Ola,

    ja, besteht, aber nicht unmittelbar und sofort ... das kann schon ein wenig dauern
     
  8. Das ist okay, I möchte ja etwas und das Problem pressiert nicht ::)
    Ich freu mich schon wenn mir überhaupt jemand helfen kann
     
  9. Hi Ginkgo,

    nachfolgender Makro sollte das Gewünschte tun.

    Löschen von ganzen Zeilen bekommt er nicht mit.
    Aber alle Änderungen in Zeilen.

    Der Code ist in die Code-Seite von->DieseArbeitsmappe' zu kopieren.
    a) Arbeitsmappe öffen
    a) VB-Editor öffne mit Alt+F11
    c) im Projekt-Fenster einen Doppelklick auf->DieseArbeitsmappe'
    d) den Code per Cut&Paste in das sich öffnende Code-Fenster kopieren
    e) VB-Editor schliessen mit Alt+Q
    f) Mappe speichern

    und ausprobieren, ob Änderungen in Spalte A ein Datum hervorrufen.

    Gruß Matjes :)

    Code:
    Dim b_bussy As Boolean
    Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Excel.Range)
     ->Bei Änderungen in der Arbeitsmappe wird für jede geänderte Zelle
     ->in der betreffenden Zeile in Spalte A das Datum gesetzt
     ->Von der Änderung ausgenommen, ist die Zeile 1 eines jeden Blattes,
     ->um Überschriften nicht zu überschreiben
     ->Löscht man ganze Zeilen, geht das an diesem Makro vorbei.
     ->Löschen von ganzen Zeilen wird nicht erfaßt !!!
      
      Const Spalte_A = 1
      
      Dim Zelle As Range, Datum As Date
      
     ->Prüfen, ob Makro gerade läuft und das Datum ändert
      If Not b_bussy Then
       ->Erneute Makro-Verarbeitung sperren
        b_bussy = True
       ->Datum bestimmen
        Datum = Format(Now(), yyyy.mm.dd)
        
       ->Für alle geänderten Zellen
        For Each Zelle In Target
         ->In Zeile 1 (Überschriften-Zeile) keine Kennung setzen
          If Zelle.Row <> 1 Then
           ->Datum bzgl. betreffender Zeile in Spalte A setzen
            Sh.Cells(Zelle.Row, Spalte_A).Value = Datum
          End If
        Next
       ->Erneute Makro-Verarbeitung freigeben
        b_bussy = False
      End If
    End Sub
     
  10. Das Löschen ganzer Zeilen bzw. Spalten kan man mit folgendem Makro in der Code-Seite der Arbeitsblätter vermeiden.

    Funktion des Makro:
    Verhindert, daß ganze Zeilen oder Spalten selektiert werden.
    Damit kann auch keine ganze Zeile bzw. Spalte gelöscht werden

    Der Makro muß in die Code-Seite der einzelnen Tabellenblätter kopiert werden.

    Damit bleibt dann nur noch->Zellen löschen' als Änderung, die am Change-Ereignis vorbei geht.

    Gruß Matjes :)

    Code:
    Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
     ->Verhindern, daß ganze Zeilen oder Spalten selektiert werden
      If (Target.Rows.Count = (Target.Count \ 256)) Or _
          Target.Columns.Count = (Target.Count \ 65536) _
          Then Target.Item(1).Select
    End Sub
     
Die Seite wird geladen...

Excel: Wie kann ich erkennen ob Zeile geändert wurde - Ähnliche Themen

Forum Datum
Bestimmter User kann seine Excel Dateien nicht mehr direkt öffnen Software: Empfehlungen, Gesuche & Problemlösungen 16. Apr. 2016
Kann Excel Adressen automatisch erkennen und in die dafür vorgesehenen Spalten einfügen? Software: Empfehlungen, Gesuche & Problemlösungen 1. Feb. 2016
Wie kann ich eine Excel-Formel in die nachfolgenden Zeilen mit variablem Multiplikator ziehen ? Microsoft Office Suite 4. Dez. 2015
excel 2010 kann alte dateien *.dat nicht öffen Microsoft Office Suite 8. Juni 2011
Excel 2003 Kann man bestimmte Zellen im Listenbereich schützen? Microsoft Office Suite 24. Feb. 2011