Excel änderungen Auf Einem Neuen Blatt Protokollieren Ausgegraut

Excel: Zell�nderung dokumentieren
Autor Nachricht Oscar2.0
Gast

Verfasst am:
07. Jun 2013, 14:08
Rufname:



Version: Office 2010

Hallo,

ich habe ein Problemchen das euch wahrscheinlich vor Einfachheit zum Lachen bringen wird. Aber ich verzweifele...

Es geht un eine Tabelle, auf die verschiedene Leute zugreifen. Alle m�ssen lesen & �ndern k�nnen. Ich m�chte nun f�r die Daten einer jeder Zeile die letzte �nderung dokumentieren (Datum, Zeit & Benutzer). In der Datei passieren n�mlich seltsame Dinge (Eingaben) und keiner war es. Mir geht das Gerede "...ich hab' da nicht ge�ndert" und "...das steht schon seit 3 Wochen da" ganz sch�n auf den Keks.

Denke, daf�r muss ich ein Makro aufzeichnen. Aber was zeichne ich da auf?

Schon jetzt DANKE f�r eure Hilfe!!!

MfG Ecki

RPP63
ambitionierter Sp�tanf�nger

Verfasst am:
07. Jun 2013, 14:23
Rufname:


Wohnort: mitten im Pott


Version: Office 2010

Hallo!
Du solltest Tabelle2 auf veryHidden setzen.
Folgender Code ins Modul von Tabelle 1:
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Adresse As String
If Target.Count > 1 Then Exit Sub
Adresse = Target.Address
If Not Intersect(Range("A2:I27"), Target) Is Nothing Then
Tabelle2.Range(Adresse).Value = "Am " & Date & " von " & Environ("Username") & " ge�ndert"
End If
End Sub

In Tabelle 2 erscheint jetzt in der gleichen Zelle wie in der ge�nderten Zelle von Tabelle 1 etwas in der Art:
Code:
Am 07.06.2013 von Ralf ge�ndert

Gru�, Ralf

_________________
besser sp�t als nie ...
Oscar2.0
Gast

Verfasst am:
10. Jun 2013, 08:14
Rufname:



Version: Office 2010

Hallo Ralf,

zun�chst einmal DANKE, dass Du Dich meinem Problem angenommen hast.

Leider bin ich jedoch unf�higer als Du Dir vorstellen kannst. Ich kann zwar ein Marko aufnehmen, jedoch komme ich mit Deinem Code nicht weiter. Hier noch einmal mein Ziel:

- Ich habe eine Mappe mit 53 Tabellen (f�r jede Woche eine)
- Die Tabellen sind jeweils von A1:Q550, die Daten stehen in A9:Q550
- Eine Zeile = ein Datensatz.
- Ich m�chte nun, dass wenn jemand in einer Zeile etwas �ndert, in dieser Zeile in Spalte R das Datum, die Zeit und der Name desjenigen der ge�ndert hat steht.
- Die Protokolation soll automatisch erfolgen, ohne extgra einen Makro anuschalten

Folgende Fragen :
- Wie zeichne ich so einen Marko etwas auf, bzw. wohin schreibe ich Deinen Code?
- Ich muss doch sicher etwas in Zelle R schreiben?

DANKE f�r weitere Hilfe!!!
mfG, Ecki

RPP63
ambitionierter Sp�tanf�nger

Verfasst am:
10. Jun 2013, 10:51
Rufname:


Wohnort: mitten im Pott

AW: Excel: Zell�nderung dokumentieren - AW: Excel: Zell�nderung dokumentieren

Nach oben
Version: Office 2010

Hallo!
Mit Makro aufzeichnen geht es nicht, hier muss im VBE (Alt+F11) geschrieben werden.
Deinen L�sungswunsch finde ich nicht gut, da hier nur die letzte �nderung im gesamten Datensatz protokolliert wird.
Besser jede �nderung protokollieren.

1. F�ge ein neues Blatt ein und benenne es mit "Protokoll"
2. F�ge die �berschriften ein: Tabelle, Zelle, neuer Wert, Datum, Uhrzeit, Benutzer
3. Wechsel in den Editor per Alt+F11
4. Suche und markiere im ProjectExplorer (oben links) die Tabelle "Protokoll" und markiere sie.
5. Dr�cke F4, suche im Eigenschaftenfenster (unten links) die Eigenschaft Visible und �ndere sie auf "xlSheetVeryHidden".
6. Markiere oben links "DieseArbeitsmappe".
7. F�ge im rechten Fenster folgenden Code ein:

Code:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim ErsteFreieZeile As Long
If Target.Count > 1 Then Exit Sub
If Sh.Name = "Protokoll" Then Exit Sub
If Intersect(Target, Sh.Range("A9:Q550")) Is Nothing Then Exit Sub
With Sheets("Protokoll")
ErsteFreieZeile = .Cells(Rows.Count, 1).End(xlUp).Row + 1
.Cells(ErsteFreieZeile, 1) = Sh.Name
.Cells(ErsteFreieZeile, 2) = Target.Address(0, 0)
.Cells(ErsteFreieZeile, 3) = Target.Value
.Cells(ErsteFreieZeile, 4) = Date
.Cells(ErsteFreieZeile, 5) = Time
.Cells(ErsteFreieZeile, 6) = Environ("username")
End With
End Sub

8. Jetzt solltest Du den Code per Kennwort sch�tzen:
- Rechtsklick auf Dein VBA-Projekt, Eigenschaften, Schutz
- Projekt f�r Anzeige sperren
- Kennwort vergeben und gut aufbewahren ...

Jetzt wird im Hintergrund ein �nderungsprotokoll angelegt, welches zun�chst niemand einsehen kann.
Willst Du es sehen, gibt es zwei M�glichkeiten:
1. Du wechselst in den VBE, klickst auf Dein Projekt, gibst das Kennwort ein und �nderst die Eigenschaft des Tabellenblatts auf xlSheetVisible. Ist umst�ndlich, vor allem darfst Du nicht vergessen, nachher alles wieder r�ckg�ngig zu machen ...
2. und besser: Du automatisierst per VBA. Daf�r ben�tigst Du noch zwei zus�tzliche Ereignisroutinen. Ins Modul DieseArbeitsmappe:

Code:
Private Sub Workbook_Open()
If Environ("username") = "Ralf" Then 'anpassen!
Worksheets("Protokoll").Visible = xlSheetVisible
End If
End Sub

Hier musst Du noch Deinen Windows-Anmeldenamen �ndern (Wahrscheinlich "Oscar").
Nur f�r Dich ist das Protokoll sichtbar.
Mit:
Code:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Worksheets("Protokoll").Visible = xlSheetVeryHidden
End Sub

wird sichergestellt, dass es beim Schlie�en der Datei wieder unsichtbar gemacht wird.
Ein m�gliches Ergebnis im Blatt "Protokoll":
A B C D E F
1 Tabelle Zelle neuer Wert Datum Uhrzeit Benutzer
2 Tabelle1 L22 15 10.06.2013 09:56:15 Ralf
3 Tabelle2 B23 Plumpaquatsch 10.06.2013 09:56:41 Ralf
4 Tabelle3 E18 18456 10.06.2013 09:57:22 Ralf
5 Tabelle1 A10 �rger 10.06.2013 09:57:44 Ralf

Hier kannst Du jetzt z.B. per Autofilter bequem nach der �nderung suchen, die Dich �rgert ...

Gru�, Ralf


_________________
besser sp�t als nie ...
truecolor
never ever give up...

Verfasst am:
24. Apr 2014, 16:10
Rufname: Frank


Wohnort: im wundersch�nen Ketsch am Rhein

Version: Office 2010

Hallo Ralf,

geniale L�sung. Funktioniert zu 100%.

Ich h�tte da noch einen Upgrade-Wunsch:

Im Protokoll sehe ich nur den neuen/modifizierten/ge�nderten Zellwert, aber
leider nicht, was zuvor in der Zelle stand.

Meine Idee:
Das Macro so modifizieren, dass das Makro den Zelleninhalt direkt auslie�t, sobald
man mit der Maus auf eine Zelle klickt oder man sich mit den Cursortasten auf die
Zelle positioniert. Der Inhalt der Zelle wird dabei sofort in eine Puffervariable
zwischenspeichert, wenn man sich auf diese diese Zelle bewegt hat.
(oder aber es ist m�glich erst den Zelleninhalt zu speichern, wenn die Zelle
entweder mit Maus-Doppelklick oder F2 bearbeitet werden kann).

Verl��t man ohne �nderung wieder die Zelle (z.B. durch anklicken einer anderen
Zelle, wird direkt der Inhalt der neu angew�hlten Zelle in die Puffervariable
gespeichert.

�ndert man jedoch den Inhalt der Zelle und schlie�t die Eingabe mit Return ab,
wird der Inhalt der Puffervariable und der neue Zellinhalt in die Protokolltabelle
eingetragen.

Die Protokolltabelle h�tte dann auch eine Spalte mehr:

| Tabelle | Zelle | alter Wert | neuer Wert | Datum | Uhrzeit | Benutzer |

Somit k�nnte man auch sehen, welcher Inhalt VOR der Ver�nderung in der Zelle stand.

W�re sowas machbar?

Gru� ... tc

Isabelle :-)
Menschin

Verfasst am:
24. Apr 2014, 16:14
Rufname:


Wohnort: Westlicher Spiralarm der Galaxis

truecolor
never ever give up...

Verfasst am:
24. Apr 2014, 16:49
Rufname: Frank


Wohnort: im wundersch�nen Ketsch am Rhein


Version: Office 2010

Hallole Isabelle,

die Codes sehen sehr beeindruckend aus. Ich habe aber Null Ahnung, wie die
funktionieren. Aber andererseits interessiert einen Raucher auch nicht, wie ein
Zigarettenautomat innen drin funktioniert. Hauptsache Geld rein, Zigaretten raus.
(PS. Bin kein Raucher)

Ich werde mir die Codes am WE mal in die besagte Tabelle einpflegen.

Wegen dem rechtlichen mache ich mir keine Gedanken. Wir haben hier weder
Betriebsrat noch habe ich Bedenken, dass ich einen auf den Deckel bek�me, wenn
ich Plagiat oder Manipulation an meiner Tabelle nachweisen k�nnte. Ohne solch einen
Code kann ich im Worst Case gar nichts nachweisen.

Super vielen Dank f�r den Codetip. (klingt fast wie Q-Tip Smile)

Excel änderungen Auf Einem Neuen Blatt Protokollieren Ausgegraut

Source: http://www.office-loesung.de/ftopic603941_0_0_asc.php

0 Response to "Excel änderungen Auf Einem Neuen Blatt Protokollieren Ausgegraut"

Post a Comment

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel