Programmierhilfe Makro in Basic "Datum zurückgeben"

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: Programmierhilfe Makro in Basic "Datum zurückgeben"

von sascha11 » Mi, 29.03.2006 13:04

habe aus dem Ganzen jetzt ein Select Case gemacht- selbe Werte- es funktioniert!

Danke!

Sascha

also

von sascha11 » Mi, 29.03.2006 12:27

es geht immer, wenn ich auf denselben Wert prüfe:
"ja" = "ja"
oder
"nein" = "nein"
dann funktionieren auch die Variablen

sobald ich auf "nein" = "ja"prüfe oder auf unterschiedliche Werte prüfe, geht es nicht mehr!

von sascha11 » Mi, 29.03.2006 12:01

leider selbe Fehlermeldung, danke!

Sascha

von pmoegenb » Mi, 29.03.2006 11:57

Hallo Sascha,

meine Kenntnisse über StarBasic sind nicht gerade üppig. In dem Handbuch, das ich habe, wird eine Zelle zunächst als Objekt angelegt und dann über das Objekt auf die Eigenschaften zugegriffen. Um bei Deiner Anforderung zu bleiben würde das dann so aussehen:

Code: Alles auswählen

Dim ObjZelle As Object
ObjZelle = oT1.getCellRangeByName(sBereichtemp3)
If ObjZelle.String = "ja" then u.s.w.

von sascha11 » Mi, 29.03.2006 11:46

wenn ich If "Ja" = "ja"
Code
End If erhalte ich auch diese Fehlermeldung, wenn ich aber
If "ja" = "ja" mache, kommt sie nicht mehr

von sascha11 » Mi, 29.03.2006 11:33

wenn ich es so mache, erhalte ich diesselbe Fehlermeldung!

Dim testwert1 As String
testwert1 = oT1.getCellRangeByName(sBereichtemp3).string
oT1.getCellRangeByName("B5").string=testwert1
If testwert1 = "ja" Then

Danke!

jetzt geht es!

von sascha11 » Mi, 29.03.2006 11:18

hi Peter,

danke- jetzt geht es!

hast du noch eine Idee, woran es liegt, dass ich hier die Fehlermeldung
"Falscher Wert für Eigenschaft" erhalte?

[code]
If oT1.getCellRangeByName(sBereichtemp3) = "ja" Then
Code
End If
[/code]

Die Variable sBereichtemp3 enthält in diesem Fall den Wert
liste.O3
und hier steht als Text formatiert
"ja"
drin

mit
If (oT1.getCellRangeByName(sBereichtemp3).string) = "ja" Then
und
If (oT1.getCellRangeByName(sBereichtemp3).text) = "ja" Then
geht es auch nicht (selbe Fehlermeldung).

danke!

Sascha

von pmoegenb » Di, 28.03.2006 15:46

Hallo Sascha,

vielleicht funktioniert das Schlüsselwort IsNull nicht. Probiers mal so

Code: Alles auswählen

Dim stest As Date
If oT1.getCellRangeByName(sBereichtemp).string)=""  then
    Datum=0
else
    stest = oT1.getCellRangeByName(sBereichtemp).string
    Datum=Month(stest)
End If 

von sascha11 » Di, 28.03.2006 15:28

hi Peter,

danke!

leider liefert mir Datum weiterhin 12 zurück, also er geht in die if- Bedingung, obwohl das Zielfeld keinen Wert enthält, verstehe ich nicht!

Danke!

Sascha

von pmoegenb » Di, 28.03.2006 15:14

sascha11 hat geschrieben:Dim stest As Date
stest = oT1.getCellRangeByName(sBereichtemp).string
Datum=Month(stest)

das funktioniert, solange das Feld nicht NULL ist, denn sobald nichts drinsteht, ist der Wert von stest = 00:00:00
dann liefert Month 12 zurück

hat jemand eine Idee, wie das noch funktionieren kann?
Hallo Sascha,

möglicher Weise klappt es so

Code: Alles auswählen

Dim stest As Date
Datum=0
If Not IsNull(oT1.getCellRangeByName(sBereichtemp).string) then
    stest = oT1.getCellRangeByName(sBereichtemp).string
    Datum=Month(stest)
End If
 

von sascha11 » Di, 28.03.2006 14:15

Dim stest As Date
stest = oT1.getCellRangeByName(sBereichtemp).string
Datum=Month(stest)

das funktioniert, solange das Feld nicht NULL ist, denn sobald nichts drinsteht, ist der Wert von stest = 00:00:00
dann liefert Month 12 zurück

hat jemand eine Idee, wie das noch funktionieren kann?

leider nein

von sascha11 » Di, 28.03.2006 13:18

hi Karo,

geht leider nicht!
kommt "sub oder function nicht definiert"!

danke,

Sascha

von Karolus » Di, 28.03.2006 13:13

Als Tabellenfunktion würde ich es mit :
=MONAT(WERT(A1)) probieren.

vielleicht funktioniert in basic dann:

month(value(deindatumsstring) ??

Gruß Karo

ps. das ist hier das Calc-forum nicht das Basic-forum

hi

von sascha11 » Di, 28.03.2006 12:40

hi Peter,

danke für deine Antwort, sorry, ich habe undeutlich geschrieben:
Ich muss an die Funktion im Makro einen String übergeben und habe dazu die Funktion month(myDate) benutzt, die erwartet aber ein Datum, deshalb benötige ich eine Funktion, die meinen String (Datum-> 24.1.2006 oder 2.01.06) nimmt und mir den Monat als integer zurückgibt.
in Basic:
integer programmierte Funktion (string im Format 24.1.2006 ider 2.01.06)

Danke!!

Sascha

Re: danke

von pmoegenb » Di, 28.03.2006 11:58

sascha11 hat geschrieben:hey!

ich kann leider nur einen String an die Funktion übergeben, kein formatiertes Datum, kann mir jemand das programmieren (z. Bsp.: 24.1.2006 als String oder 24.01.2006?
Hallo Sascha,

wenn Du die Funktion Monat() meinst, dann trifft dies nicht zu.

Beispiel: In der Zelle A1 habe ich das Datum 24.01.2006 formatiert als Kategorie Datum und Format tt.mm.jjjj.

Mit der Funktion

Code: Alles auswählen

=Monat(A1)
erhalte ich die Ziffer 1.

Nach oben