Seite 2 von 2
Re: ZellAdressierungs Problem
Verfasst: Di, 15.04.2014 16:04
von clag
hi TC,
die 864000 war schon Vorsatz weil ich ggf auch 1/10 oder 1/100 Sekunden erfassen wollte
das sollte aber eigentlich kein Grund sein mit 4 digit sollten sich locker 1/10 Sek zählen lassen
bin leider noch nicht zum weiteren Arbeiten an der Tabelle gekommen
kann noch keine weiteren Infos geben
Re: ZellAdressierungs Problem
Verfasst: Sa, 19.04.2014 11:43
von clag
Hallo TrueColor,
du hattest dich ja etwas intensiver mit meinem Problem befasst
heute wollte ich mich auch noch einmal mit dem Problem beschäftigen um herauszufinden wodurch der Fehler entsteht
denn ich ich hatte deine Meldung "Überlauf" auf dem Schirm
Soweit ich es sehe scheinen es Fehler zu sein, die in der Rechengenauigkeit liegen
Der Hammer ist heute bekomme ich mit anderen Zahlen/ Zeiten das Problem
und die "Zeit" die vorher das Problem verursachte wird jetzt korrekt verarbeitet.
Ich bin echt verwirrt
Falls du du etwas Zeit und die BspDatei noch hast wäre mein Bitte an dich
kannst du das einmal Gegenprüfen
Re: ZellAdressierungs Problem
Verfasst: Do, 24.04.2014 10:51
von TrueColor
Ich werde nochmal etwas testen.
Noch ein Vorschlag, der möglicherweise den Fehler weiter eingrenzen könnte: das Ganze mal auf MS Excel portieren, sowohl deine VBA-Lösung als auch die Formel? Ich hab leider kein Excel.
Re: ZellAdressierungs Problem
Verfasst: Do, 24.04.2014 16:16
von balu
Tach clag,
in einer Formel steht zB "=G949+blabla " es wird aber der Wert aus F949 verwendet
Blödsinn! Denn wenn Du die Formel in D949
Code: Alles auswählen
=RECHTS(DEZ2ID36(F949);4) & RECHTS(DEZ2ID36(G949/(1/864000));4)
auf zwei Zellen aufgeteilt hättest, so hättest Du gesehen das deine Behauptung einfach falsch war. Das ist jetzt aber auch egal, da dies nicht dein Problem löst, denn das ist ein ganz anderes.
Du kennst die einschlägigen Hilfe-Quellen (Dannenhöfer, Andrew)! Also befasse dich auch bitte schön damit. Dir ist nämlich auch ein typischer Fehler unterlaufen, ich sag nur eins: "Variablen deklaration".
Dannenhöfer hat geschrieben:
Variant
Der Datentyp Variant wird in Starbasic automatisch erstellt wenn eine Variable ohne Typenzuordnung deklariert wird.
Variable = 1
Eine derartige Varibale kann dann auch verschiedene Typen nacheinnander aufnehmen.
sub varianttest
var1 = "Test"
msgbox var1
var1 = 1
msgbox var1
end sub
In diesem Beispiel bekommt Var1 erst eine Zeichenfolge und dann eine ganze Zahl. Der Typ Variant macht sich die Variable bei der Weiterverarbeitung passend. Wenn man zum Beispiel zwei Variantvariablen addiert und die eine hat einen String und die andere eine Zahl, wird das richtige Ergebnis berechnet wenn der String eine Zahl ist. Ansonsten kommt keine Fehlermeldung, aber ein falsches Ergebnis.
Daher ist der Einsatz von Variantvariablen mit Vorsicht zu geniessen. Man kann sich damit "schöne" Fallen in seinen Code schreiben.
Tipp: Alle Variablen ordentlich deklarienen und auf den Typ Variant möglichst verzichten.
Also habe ich in deinem Code nur ein einziges Wort getauscht, und schwupp-di-wupp läuft alles.
Hier die betroffene Zeile, und das ausgetauschte Wort müsste dir selber auffallen
Viel Spaß auch noch

.
Gruß
balu
Re: ZellAdressierungs Problem
Verfasst: Do, 24.04.2014 19:52
von clag
Hallo Balu
balu hat geschrieben:Also habe ich in deinem Code nur ein einziges Wort getauscht, und schwupp-di-wupp läuft alles.
also das ist ja komisch
wenn ich das bei mir so abändere wie du vorschlägst funktioniert es bei mir jetzt auch einwandfrei
kaum macht man es richtig schon funktioniert es
besten Dank
heye ... TC kannst aufhören mit Fehler suchen ....
Re: [gelöst] ZellAdressierungs Problem
Verfasst: Di, 29.04.2014 08:12
von TrueColor
Hehe, so " einfach" löst sich das Problem. Ich war leider die letzten Tage noch nicht dazugekommen, mir das weiter anzuschauen. Aber freut mich, wenn's jetzt geht. Stimmen jetzt die Ergebnisse auch mit der BASIS-Funktion überein?
Re: [gelöst] ZellAdressierungs Problem
Verfasst: Di, 29.04.2014 15:52
von clag
Hallo TrueColor
ja jetzt habe ich keine Differenzen mehr zu BASIS()
wenn ich auf dem Schirm gehabt hatte das BASIS() genau das tut was ich suchte
hätte ich ja meine DIY Funktion DEZ2ID36() überhaupt nicht basteln müssen
Naja nun habe ich etwas das bei Bedarf auch mehr wie 36 Werte handeln kann
und weiß wie wichtig die genaue deklaration von Variablen ist
warum der zweite bei "Überlauf" gleich dem ersten Wert ausgegeben wurde ist jetzt auch klar
es war einfach der Wert aus der vorhergehenden Berechnung der wegen Überlauf nicht neu geschrieben wurde
aber die Funktion hat den Alten Wert dennoch ausgegeben.
Na hinterher ist man immer etwas klüger
nochmals danke allen Antwortern
Re: [gelöst] ZellAdressierungs Problem
Verfasst: Di, 29.04.2014 16:51
von Karolus
Hallo
Naja nun habe ich etwas das bei Bedarf auch mehr wie 36 Werte handeln kann
Wenn du damit die Funktion BASIS meinst ? ->
OOo-hilfe hat geschrieben:BASIS
Wandelt eine positive Ganzzahl in einen Text aus dem Zahlensystem zur angegebenen Basis. Dabei werden die Ziffern 0-9 und die Buchstaben A-Z verwendet.
Syntax
BASIS(Zahl; Zahlenbasis; [Mindestlänge])
Zahl ist die positive Ganzzahl, die umgewandelt werden soll.
Zahlenbasis zeigt die Basis des Zahlensystems an. Es kann sich dabei um eine positive Ganzzahl zwischen 2 und 36 handeln.
Mindestlänge (optional) bestimmt die Mindestlänge der erstellten Zeichenfolge. Wenn der Text kürzer als die angegebene Mindestlänge ist, werden links neben der Zeichenfolge Nullen hinzugefügt.
Karolus
Re: [gelöst] ZellAdressierungs Problem
Verfasst: Di, 29.04.2014 17:11
von clag
Hi Karolus
ja genau die Funktion BASIS() kann bis 36
mein DIY DEZ2ID kann ich ja noch auf 42 oder mehr Zeichen erweitern was ANSI noch so hergibt

ich hatte schon 0-9@A-Z#$%&+ aber das macht möglicherweise an anderer Stelle Probleme zB bei Dateinamen
mein DIY kann auch mit einer beliebigen Wertigkeit der Zeichen umgehen zB "A-Z 0-9" oder total vermischt
also nur rückwandelbar wenn man die Wertigkeit/Reihenfolge der Zeichen kennt
aber das ist mehr Spielerei
wie gesagt diese Überlegungen sind entstanden als mir die Funktion BASIS() noch nicht so genau bekannt war

Re: [gelöst] ZellAdressierungs Problem
Verfasst: Mi, 30.04.2014 08:35
von TrueColor
clag hat geschrieben:Naja nun habe ich etwas das bei Bedarf auch mehr wie 36 Werte handeln
Also hast immer, neben der Fingerübung, noch einen guten Mehrwert bekommen
