aus -> oZelle.Value

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: aus -> oZelle.Value

Re: aus -> oZelle.Value

von ulko38 » Di, 31.12.2019 11:09

Hi mikeleb,
um weiter zu kommen, habe ich es jetzt mit "Suchen und Ersetzen" in der Tabelle so gemacht wie du vorgeschlagen hast.
Wie bisher so wie so schon.
Da ich aber ca jährlich 80 Radtouren vor Veröffendlichung (komoot + MeinWomo) bearbeite (Zeitlücken schließe),
möchte ich dies auch in meinem Makro mit einbauen.
Eine Bespieldatei und meine Makro stelle ich End der Woche mal ein.
Grüße und einen Guten Rutsch ins neue Jahr
wünscht Ulrich

Re: aus -> oZelle.Value

von mikeleb » So, 29.12.2019 20:18

Hallo,
eine Ergänzung: wenn es dir darum geht, aus dem Text "15.1km/h" die Zahl 15,1 zu machen, würde ich die Spalte F markieren und dann Suchen&Ersetzen:
Suche nach: ([:digit:]+)\.([:digit:]+)km/h
Ersetzen durch: $1,$2
Weitere Optionen:
Nur in Auswahl
Reguläre Ausdrücke
-> Alle ersetzen
Danach schreibst du in irgendeine freie Zelle die Zahl 3,6 und kopierst die Zelle. Dann markierst du die Geschwindigkeiten in Spalte F und wählst unter ->Bearbeiten->Inhalte einfügen... die Optionen Zahl sowie Dividieren ->OK ->fertig

Re: aus -> oZelle.Value

von mikeleb » So, 29.12.2019 20:10

Hallo,
für den Typ des Zellinhaltes gibt es nur 4 mögliche Werte:
0 - Empty - leere Zelle
1 - Value - Zahl
2 - Text - Zeichenfolge
3 - Formula - Formel
Die Angaben
oZelle.Value = 0
oZelle.String = FALSE
gehören definitiv nicht zu der Zelle in der 15.1km/h steht. Wie sieht dein Makro als ganzes aus? Eine Beispieldatei wäre hilfreich.

Re: aus -> oZelle.Value

von ulko38 » So, 29.12.2019 19:23

hi mikeleb,

oZelle.Type = 2 nach "tannenhoefer" ist das eine Zahl mit Komma.
oZelle.Value = 0
oZelle.String = FALSE

Rechnen kann ich leider damit nicht.
Die GPX-Datei wurde mit "Routeconverter" nach CSV-Datei gewandelt und mit Libre Office Calc geöffnet.
Daten diser Spalte will ich zum 1.-mal zum rechnen ( km --> m/s) verwenden.
Grüße Ulrich
2019-12-29 Speet.PNG
2019-12-29 Speet.PNG (27.96 KiB) 3147 mal betrachtet

Re: aus -> oZelle.Value

von mikeleb » Sa, 28.12.2019 16:01

Hallo,
was liefert denn oZelle.Value bzw. oZelle.String?

Re: aus -> oZelle.Value

von ulko38 » Sa, 28.12.2019 14:48

Hi emkelep,

Hab ich auch gedacht. Aber oZelle.Type gibt mir =(2) zurück.
Und in der Formatierung von Libre Calc wird nur Dezimalzahl angezeigt. Noch nicht mal Finanz-Zahl (Währung)
Grüße Ulrich

Re: aus -> oZelle.Value

von mikeleb » Fr, 27.12.2019 17:41

Hallo,
25 km/h ist keine benannte Zahl, sondern ein Text.
Innerhalb eines Makros wandelt dir die Funktion val()

Code: Alles auswählen

val("25 km/h")
den Text in eine Zahl.

Re: aus -> oZelle.Value

von ulko38 » Fr, 27.12.2019 17:33

Hi,
zwischen den Tagen möchte ich auch mal was für mich tun.
Scheitere nun aber daran, dass ich nicht weiss wie ich von einer benannten Zahl, z.B. 25 km/h die 4 Buchstaben abtrennen kann
um dann damit rechnen zu können.
Denn 25,6 km/h / 3,6 funktioniert so nicht.
Grüße Ulrich

Re: aus -> oZelle.Value

von ulko38 » Sa, 14.12.2019 11:38

Hi Tom
Ok und Danke.
Deine Erklärung habe ich verstanden. Erspart mir viel sucherei.
Grüße ulko

Re: aus -> oZelle.Value

von Toxitom » So, 08.12.2019 19:35

Hallo Ulko,

ich zitiere mal aus meinem eigenen Post (Antwort):
..."Teil()" ist eine Calc-Funktion (Deutsche Übersetzung) und funktioniert vielleicht im Calczellen - nicht aber in einem Makro-Programm, zumindest so nicht ...
Nochmal: Calc-Funktionen (also das, was Du inder Zelle eingeben kannst ) und Basic-Funktionen im Makro sind zwei völlig unterschiedliche Dinge! Du schreibst Basic-Makros - also solltest Du Dich mit den vordefinierten und eingebauten Basic-Funktionen beschäftigen. Da gibt es z.B. eine Gruppe zur Datumsbehandlung - und dort findest Du unter anderem solche Funktionen wie "Year()", "Day()", "hour()", "minute()" und eben auch "Second()".

Und das hat alles nix mit der Liste (deutsch - englisch) zu tun. Dein Bild zeigt die Calc-Funktion! Völlig falscher Ansatz.

Besorge Dir ein Buch oder Nachschalgewerk für AOO/LO Basic Programmierung - oder die Online-Versionen bzf PDFs, die frei verfügbar sind.. ud arbeite mit denen:)

Da findest Du dann auch Antworten auf die Frage: "Wie schreibt man eigendlich "eigene" Funktionen ??"

Machste doch eigentlich schon... sonst liefe Dein Makro ja nicht.

Alle "Sub XXX .... end sub" oder "Function XXX.... end function" sind ja selbst geschrieben Funktionen :)

VG
Tom

Re: aus -> oZelle.Value

von ulko38 » So, 08.12.2019 18:33

Hi,
Danke für die schnelleantwort.
Ich hab mir schon so was gedacht, aber nachdem die Minute() geklappt hat und ich nichts anderes gefunden habe. Jetzt in der List "englisch - Deutsch" sehe ich es auch.

download/file.php?mode=view&id=17735

DummeNnachläßigkeit von mir.

Wie schreibt man eigendlich "eigene" Funktionen ??
Noch einen schönen Rest-zweiten-Advend. ulko
Dateianhänge
Sekunde.PNG
Sekunde.PNG (43.58 KiB) 3935 mal betrachtet

Re: aus -> oZelle.Value

von Toxitom » So, 08.12.2019 17:44

Hey Ulko,

na, die Fehlermeldung sagt Dir doch eigentlich alles;)) "Funktion nicht definiert" - also: die Funktion "SEKUNDE", die Du aufrufst, existiert nicht. Hast Du sicher gar nicht definiert.

Wahrscheinlich wolltest Du auch gar keine eigen Funktion schreiben, sondern meintest die eingebaute Funktion "Second" ? Dann hast Du das halt einfach falsch geschrieben;)

VG
Tom

Re: aus -> oZelle.Value

von ulko38 » So, 08.12.2019 17:01

Hi,
vorab nochmals Danke für Eure Hinweise. Die Entvernungsberechnung zwischen zwei geografischen Punkten ( aufgenommen mit Daten-Logger *.gpx)nach der Formel von kompf.de steht.
Nun habe ich Probleme mit der Diff.-Zeit-Berechnung. Wobei mich nur die sek zwischen zwei Punken interessieren. Damit kann ich bei Bedarf über v=m/s die fehlenden Diff.-zeiten ermitteln.
Nunzu meiner Frage:
nMenu, nSek.PNG
nMenu, nSek.PNG (73.85 KiB) 3956 mal betrachtet
Oberhalb der Funktion MINUTE(nDif_Zeit) bzw SEKUNDE(nDif_Zeit) wird hinter Print die Zahl7,633888888888897E-04 angezeigt.
Minut leuf sauber durchmit 1 min, währen SEKUNDE(ZAHL) hängen bleibt.

Kann da jemand helfen.
Danke und Grüße ulko

Re: aus -> oZelle.Value

von Toxitom » Mi, 04.12.2019 18:23

Hey Ulko,

na, das Alter spielt doch keine Rolle :)) Man ist so jung und fit, wie man sich fühlt... hihi

Zurück zum Thema: Statt mit Makros kannst Du das aber auch direkt mit Formeln lösen:
=WERT(WECHSELN(WECHSELN(A1;"N";"");".";","))


Das schreibst Du in die Zielzelle, A1 wäre dann die Zelle mit dem Ausgangswert. Die Formel kannst Du wie in Calc üblich nach unten "ziehen" - und hast so ne ganze Spalte.

brauchste die Werte später ohne Formel: Spalte kopieren - und nur Werte einfügen. Fertig.

VG
Tom

Re: aus -> oZelle.Value

von ulko38 » Mi, 04.12.2019 18:10

Hi und R,
Danke vorab über die schnellen antworten und Vorschläge.
Werde mit beiden einen Versuch Starten.
"Anfänger, ja und zwar ein Totaler. Da wird sich wohl mit meinem Alter (81)leider nichts mehr ändern.
Trotzdem bin ich mit meinem bisherigen Erfolg shr zu frieden.
Hab euch mal ein screenshott bezüglich der Formate gemacht: von wg. Format

posting.php?mode=reply&f=18&t=73813#tabs
Format A1 auch Zahl.

Grüße ulko
Dateianhänge
Ausschn. TCalc-Tabelle.PNG
Ausschn. TCalc-Tabelle.PNG (97.93 KiB) 4761 mal betrachtet

Nach oben