Seite 1 von 1

mit Range dein Zellinhalt(Datum) mit einem Datum vergleichen

Verfasst: Do, 26.08.2004 10:49
von Proximus
Hallo,

ich will ein Datum berechnen das nach einer betimmten Dauer von Tagen liegt. Das st ja noch ein einfach, aber ich will festlegen können ob ich in dieser Dauer an bestimmten Tagen arbeite oder nicht. Sprich Feiertage, Samstag, Sonntag.
Ich hab schon die Überprüfung der Wochenenden hinbekommen, aber das Feiertagsproblem bereitet mir Kopfzerbrechen! *grummel*
Ich will ein Feld in eine VBA Funktion übergeben die ich dann durchlauife und mit dem Datum vergeiche.
Wie geht das? das hab ich bis jetzt:

Option Explicit

Function Auswertung(datum As Date, rng As Excel.Range, breite, hoehe)
Dim i,j

For i = 1 To breite
For j = 1 To hoehe
REM If Range() = datum Then dauer = dauer + 1
Next
Next
REM So gehts in Excel, aber leider nicht in OpenOffice
' For Each item In rng
' msgbox item
' Next item
End Function

Danke und Gruß Proximus

Verfasst: Do, 26.08.2004 12:53
von Stephan
Alle Zellen eines Bereichs (hier A1:C4) kannst Du z.B. so durchlaufen:

Code: Alles auswählen

Sub alle_zellen_durchlaufen
bereich = ThisComponent.Sheets(0).getCellRangeByname("A1:C4")
if bereich.supportsService("com.sun.star.sheet.SheetCellRange") then
	For x = 0 To bereich.Columns.getCount-1
		For y = 0 To bereich.Rows.getCount-1
			'mach was mit dem Zellinhalt
			'z.B. numerischen Inhalt anzeigen
			msgbox bereich.getCellByPosition (x,y).Value
		Next y
	Next x
end if
End sub



Gruß
Stephan

Verfasst: Fr, 27.08.2004 14:00
von Proximus
Hallo

Super dank dir. Klappt ja wunderbar! :D :D :D

Danke und Gruß Proximus

Verfasst: Fr, 27.08.2004 15:04
von Proximus
Hallo,

eine Frage hätte ich allerdings doch noch dazu. Wie kann ich den Tabellennamen mit ins Spiel bringen, so das ich genau eine Tabelle ansprechen kann? Bis jetzt muss ja meine Tabelle noch an der ersten Stelle liegen.

Danke und Gruß Proximus

Verfasst: Fr, 27.08.2004 17:23
von Stephan
ändere in meinem Code die eine Zeile in:

Code: Alles auswählen

bereich = ThisComponent.Sheets().GetByName("DeinTabellenname").getCellRangeByname("A1:C4") 

Stephan