automatisches Datum bei Änderung

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: automatisches Datum bei Änderung

von Karolus » Mi, 07.02.2007 18:34

Hallo xmerlin

Evtl. sagt dir folgende Lösung zu:

Das Makro vergleicht die beiden Spalten mit den Nachbarspalten kopiert bei Unterschieden in die Nachbarspalte und schreibt das aktuelle Datum in Spalte D.
In Zeilen ohne Unterschied bleibt alles stehen.

Den Spaltenindex der Kopiespalten musst du entsprechend anpassen damit dir das Makro keine anderen Daten überschreibt.

Code: Alles auswählen

REM  *****  BASIC  *****

Sub Aenderungsdatum 
odoc = ThisComponent 
osheet = odoc.sheets(0)  '1 Tabellenblatt
		for z = 0 to 204
hzelle = osheet.getcellbyposition(7,z).formula 'Spalte H
hcopy = osheet.getcellbyposition(8,z).formula 'Spalte I als Kopie
kzelle = osheet.getcellbyposition(10,z).formula 'Spalte K
kcopy = osheet.getcellbyposition(11,z).formula 'Spalte L als Kopie

	if hzelle <> hcopy or kzelle <> kcopy then
		osheet.getcellbyposition(8,z).setformula(hzelle) 'Kopie nach I
		osheet.getcellbyposition(11,z).setformula(kzelle) 'Kopie nach L
		osheet.getcellbyposition(3,z).setstring(date) 'Datum nach D
	end if
	next z
End Sub
Das Makro kannst du einer Schaltfläche und/oder dem Ereignis 'Dokument wurde geändert-Status' zuordnen. Evtl. musst du im Makro noch einen Tabellenschutz einbauen der manuelle Änderungen in den Kopiespalten und der Datumsspalte nicht erlaubt.

Gruß Karo

von xmerlin » Mi, 07.02.2007 15:15

Ich habe bis jetzt immer noch nichts gefunden....bitte um Hilfe !!!

von xmerlin » Do, 25.01.2007 18:02

Hier ist der Code wie er in Excel funktioniert ....

Wenn sich in H1:H205,K1:K205 etwas ändert wird das Datum in D geschrieben.

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
Const Datum_Spalte = 4
Dim ber As Range, z As Range

Set ber = Intersect(Target, Me.UsedRange, Range("H1:H205,K1:K205"))
If Not ber Is Nothing Then
Application.EnableEvents = False
For Each z In ber
Cells(z.Row, Datum_Spalte) = Date
Next z
Application.EnableEvents = True
End If
End Sub

von Toxitom » So, 21.01.2007 19:49

kann mir einer beim übersetzen helfen
Na dann poste den doch mal. So ganz in´s Blaue ist das schwierig....

Gruss
Thomas

automatisches Datum bei Änderung

von xmerlin » So, 21.01.2007 18:36

Hi,

ich habe in Excel ein VBA Code gehabt welcher mit bei einer Änderung einer bestimmten Zelle das Datum dieser Änderung in die Zelle daneben schreibt. Diesen Code habe ich versucht ins calc in integrieren, leider ihne Erfolg. OO Basic kennt z.B. den Begriff Range nicht.

Gibt es für OO einn ähnlichen Code oder kann mir einer beim übersetzen helfen ?

Nach oben