Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
592to596
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
592to596
592to596
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Excel-Documenter

Excel-Documenter
06.04.2005 14:45:33
Knut
Hi nochmal,
*threadnachobenschieb*
Ich probiere es nochmal:
Ich suchen ein Werkzeug für Excel.
Excel bietet die Möglichkeit, den VBA Code zu exportieren.
Wenn man nun den Code exportiert, ändert und nochmal exportiert, kann man unterschiede zwischen diesen beiden Versionen feststellen (z.B. mit Beyond Compare oder ähnlichem, zur Not auch "per Hand"). Macht man das häufiger und bewart die alten Versionen auf (z.B. mit CVS), kann man damit die Entwicklung des Codes betrachten.
Mit den Exceldateien geht das leider nicht.
Daher suche ich ein Tool, dass vereinfacht folgenes tut:
Auf einem Excelblatt haben die Felder A1, A2, A3, A4 und B2 folgenden Inhalt:
A1 = "4"
A2 = "7"
A3 = "=A1+A2"
A4 = "=WENN(A3 &gt 10;"Ergebnis größer 10";"Ergebnis nicht größer 10")"
B2 = "Ein einfaches Beispiel"
Das Werkzeug das ich suche, würde nun daraus z.B. folgende Textdatei generieren:
Cell Value
A1 4
A2 7
A3 =A1+A2
A4 =WENN(A3 &gt 10;"Ergebnis größer 10";"Ergebnis größer 10")
B2 Ein einfaches Beispiel
Dann könnte man, ohne großen Aufwand nachvollziehen, dass irgnedwann die Zelle A4 geändert und nun "=WENN(A3 &gt 11;"Ergebnis größer 11";"Ergebnis nicht größer 11")" lautet.
Kennt jemand so ein Werkzeug?
Gruß
Knut

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Excel-Documenter
06.04.2005 15:38:40
marko_ti
Hallo Knut
ich habe vor einiger Zeit mal was ähnliches programmiert (Achtung: Quick & Dirty!), aber vielleicht hilft es Dir.
Meine Datei hat als erstes ein Blatt "Übersicht" in dem ein Protokoll aller in allen weiteren Blättern erfolgten Änderungen geführt wird. In den anderen Datenblättern wird außerdem in eine bestimmte Zelle ein abgespeckter Kommentar geschrieben, der bei neuer Bearbeitung ständig aktualisiert wird.
Protokolliert wird nur bei Zeilen / Spalten kleiner als die Position der Zelle, die ich "Ecke" genannt habe.
Du kannst Dir sicher etwas aus dem Code "rausziehen". Die Textdatei bekommst Du, wenn Du das Blatt "übersicht" als Text speicherst - oder eben nicht in die Zellen schreibst, sondern die gesamten Zeilen in eine Textdatei.
in Modul1:
Declare Function GetUserName Lib "advapi32.dll" _
Alias "GetUserNameA" (ByVal lpBuffer As String, _
nSize As Long) As Long
Sub Protokoll(ByVal Target As Excel.Range)
Dim Buffer As String * 100
Dim BuffLen As Long
'Debug.Print Target.Text
c = Target.Column
R = Target.Row
' crow = Range("FIRST").Row
If c = 2 And R = 7 Then GoTo ende 'Datum per Hand geändert
On Error Resume Next
BuffLen = 100
GetUserName Buffer, BuffLen
adresse = WorksheetFunction.Substitute(Target.Address, "$", "")
If c Cells(7, 2) = Date & " " & Time & " " & Left(Buffer, BuffLen - 1) & " (" & adresse & ")"
rü = Worksheets("Übersicht").Cells(65536, 1).End(xlUp).Row
ListDateTime = Worksheets("Übersicht").Cells(rü, 1).Value
ListUser = Worksheets("Übersicht").Cells(rü, 2).Value
Worksheets("Übersicht").Cells(rü + 1, 1).Value = Date & " " & Time
Worksheets("Übersicht").Cells(rü + 1, 2).Value = Left(Buffer, BuffLen - 1)
TValue = ""
If Len(adresse) TValue = Target.Value
If TValue = "" Then TValue = Chr(34) & Chr(34)
Worksheets("Übersicht").Cells(rü + 1, 3).Value = ActiveSheet.Name
Worksheets("Übersicht").Cells(rü + 1, 4).Value = adresse
Worksheets("Übersicht").Cells(rü + 1, 5).Value = TValue
Else
Worksheets("Übersicht").Cells(rü + 1, 3).Value = ActiveSheet.Name
Worksheets("Übersicht").Cells(rü + 1, 4).Value = adresse
End If
ende:
End Sub
in allen Datenblättern außer "Übersicht":

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Call Protokoll(Target)
End Sub

Gruß
Marko
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige