Hallo,
hatte die Netiquette leider nur bis zum Punkt Abmeldung gelesen.
Hier mal der Versuch mein Problem zu beschreiben.
Habe eine Mappe ‘Muster01.ods’ mit mehreren leeren Blättern ‘Tabelle1’, ‘Tabelle2’ usw. neu erstellt.
Für diese Mappe habe ich in ‘Muster01.ods/Standard/Module1’ folgendes Makro geschrieben:
REM ***** BASIC *****
option Explicit
'######################################################################
Public Sub InhaltGeaendert()
Dim s As String
'Verweis auf die aktuelle Zelle
Dim oCellAddress As Object
oCellAddress = ThisComponent.CurrentSelection.CellAddress
'Verweis auf das Blatt mit der geänderten Zelle
Dim oSheet As Object
oSheet = ThisComponent.Sheets(oCellAddress.Sheet)
'Zeile mit der geänderten Zelle
Dim iRow as Integer
iRow = oCellAddress.Row
'Spalte mit der geänderten Zelle
Dim iCol As Integer
iCol = oCellAddress.Column
'Verweis auf die geänderte Zelle
Dim oCell As Object
oCell = oSheet.getCellByPosition(iCol,iRow)
'Inhalt der geänderten Zelle als Variant
Dim v As Variant
v = oCell.String
s = "InhaltGeändert()"
s = s & chr(13)
s = s & "Sheet=" & oSheet.Name
s = s & chr(13)
s = s & "Row=" & iRow & ", Col=" & iCol
s = s & chr(13)
s = s & "Value=" & v
MsgBox s
End Sub 'InhaltGeaendert(..)
'######################################################################
Dem Ereignis “Der Status ‘Geändert’ wurde geändert” habe ich die Aktion ‘Standard.Module1.InhaltGeaendert’ zugewiesen und im ‘Muster01.ods’ gespeichert.
Erwarten tu ich, dass bei Änderung des Inhalts einer beliebigen Zellen auf einem beliebigen Blatt dieser Mappe eine entsprechende Meldung angezeigt wird. Das funktioniert auch, jedoch nur einmal. Wird eine weitere Zelle geändert, dann passiert nichts.
Was mach ich falsch?
Gruß von Henning