[gelöst] Calc Funktion Zeilenhöhe in Zelle ausgeben

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: [gelöst] Calc Funktion Zeilenhöhe in Zelle ausgeben

[gelöst] Calc Funktion Zeilenhöhe in Zelle ausgeben

von msxport » Fr, 25.05.2012 10:43

Hallo,

vielen Dank für die Antworten. Funktioniert jetzt einwandfrei!

MfG
Markus

Re: Calc Funktion Zeilenhöhe in Zelle ausgeben

von theindless » Fr, 25.05.2012 10:06

Hallo,
balu hat geschrieben:
theindless hat geschrieben:Wenn ich diese mit Strg+C/Strg+V um eine Zeile nach unten kopiert hatte, hat es funktioniert.
Und ich hatte sie kopiert, und dann wahllos in diverse andere Zellen einzeln eingefügt. Und da gabs keine Probleme.
So war meins auch gemeint :oops: .... wenn ich in eine einzelne Zelle hineinkopiere, klappte es...
balu hat geschrieben:Sorry, nicht verstehn.
Gemeint war nach Strg+C mehrere Zeilen zu markieren und Strg+V zu drücken.

Manchmal ist schon schwer zu schreiben, was man(n) meint :lol:

theindless

Re: Calc Funktion Zeilenhöhe in Zelle ausgeben

von balu » Fr, 25.05.2012 09:43

Hallo Leute,
Karolus hat geschrieben: Die Funktion ist gar nicht von mir, die entstammt Winfrieds Feder.
Oh wie schmerzlich Peinlich! Da hatte ich gestern abend vor lauter Kreuzschmerzen etwas durcheinander geworfen. Sogar doppel Peinlich, da der Thread von mir stammte. Entschuldigung. :oops:

theindless hat geschrieben: Wenn ich diese mit Strg+C/Strg+V um eine Zeile nach unten kopiert hatte, hat es funktioniert.
Und ich hatte sie kopiert, und dann wahllos in diverse andere Zellen einzeln eingefügt. Und da gabs keine Probleme.

theindless hat geschrieben: Wenn ich diese mit Strg+C/Strg+V in mehrere Zeilen nach unten kopiert hatte, dann nicht.
Sorry, nicht verstehn.

theindless hat geschrieben: Wenn ich Sie mit der Maus "nach unten gezogen" hatte, dann hatte es nicht funktioniert.
Bestätige ich. WinXP OOo 3.2.1 & 3.3.0 & AOO 3.4.0

Karolus hat geschrieben:
Und nun noch das ganze für die Spaltenbreite.
Für die Spaltenbreite gibts die "eingebaute" Funktion:

Code: Alles auswählen

=ZELLE("Width") 
allerdings verwendet die eine andere Masseinheit
Und da habe ich eben noch nicht herausgefunden auf was die beruht. Ich dachte das dies ein Excel kompatibles Maß ist, was aber nicht der Fall ist. Aber das soll ja jetzt wohl keine Rolle spielen, oder!? (***)

Karolus hat geschrieben: trotzdem muss ich etwas korrigieren:
In der Funktionssignatur steht: aktZeile as LONG sinnvoller wäre: aktZeile as INTEGER
Hast Recht. Es ist sinnvoller, und ich hab das gleich bei mir dementsprechend für beide geändert. Danke für den Hinweis.



Gruß
balu


[edith]
(***) Das ist wohl die Anzahl an Zeichen die in eine Zelle ohne Umbruch und Überlauf passen.
[/edith]

Re: Calc Funktion Zeilenhöhe in Zelle ausgeben

von Karolus » Fr, 25.05.2012 08:09

Hallo
Die Funktion von Markus gibt bei jeder Neuberechnung die Höhe der gerade aktuellen Selektion aus - völlig unabhängig davon in welcher Zelle die Funktion steht.
Und nun noch das ganze für die Spaltenbreite.
Für die Spaltenbreite gibts die "eingebaute" Funktion:

Code: Alles auswählen

=ZELLE("Width") 
allerdings verwendet die eine andere Masseinheit

Ps. Laut Balu ist die Funktion von mir, trotzdem muss ich etwas korrigieren:
In der Funktionssignatur steht: aktZeile as LONG sinnvoller wäre: aktZeile as INTEGER

PPs. Die Funktion ist gar nicht von mir, die entstammt Winfrieds Feder.

Karo

Re: Calc Funktion Zeilenhöhe in Zelle ausgeben

von theindless » Fr, 25.05.2012 06:28

Hallo,

@balu
ich hatte die Funktion von Markus auch getestet und diese hat nur eingeschränkt funktioniert.

Wenn ich diese mit Strg+C/Strg+V um eine Zeile nach unten kopiert hatte, hat es funktioniert.
Wenn ich diese mit Strg+C/Strg+V in mehrere Zeilen nach unten kopiert hatte, dann nicht.
Wenn ich Sie mit der Maus "nach unten gezogen" hatte, dann hatte es nicht funktioniert.

getestet mit
Windows Vista und OpenOffice 3.3.0

theindless

Re: Calc Funktion Zeilenhöhe in Zelle ausgeben

von balu » Do, 24.05.2012 22:55

Hallo Markus,

könnte es vielleicht sein das Du noch die Tastenkombi "Strg" & "Shift" & "F9" drücken musst?
Ansonsten kann ich dir eine Alternative anbieten, die von unserem Forummitglied Karolus stammt.

Code: Alles auswählen

Function ZEILENH( aktTabelle as INTEGER, aktZeile as LONG )
ZEILENH = ThisComponent.Sheets().getByIndex( aktTabelle - 1 ).Rows().getByIndex( aktZeile - 1 ).Height
End FUNCTION
Aufgerufen wird sie dann wie folgt, und zwar genau so wie sie da steht.

Code: Alles auswählen

=ZEILENH(TABELLE();ZEILE())

Und nun noch das ganze für die Spaltenbreite.

Code: Alles auswählen

Function SPALTEB( aktTabelle as INTEGER, aktSpalte as LONG )
SPALTEB = ThisComponent.Sheets().getByIndex( aktTabelle - 1 ).Columns().getByIndex( aktSpalte - 1 ).Width
End FUNCTION

Code: Alles auswählen

=SPALTEB(TABELLE();SPALTE())
Am besten fügst Du die beiden Functionen in einem Modul in "[Meine Makros & Dialoge].Standard" ein.

Halt Stop!
Ich habe mal eben deine Function in die eben genannte Bibliothek in ein Modul eingefügt und kann keine Probleme feststellen. Dein beobachtetes Fehlverhalten kann ich nicht reproduzieren. OOo 3.2.1 und AOO 3.4.0



Gruß
balu

[gelöst] Calc Funktion Zeilenhöhe in Zelle ausgeben

von msxport » Do, 24.05.2012 12:01

Hallo,

habe folgende Funktion zur Ausgabe der Höhe einer Zeile in eine Zelle geschrieben:
(AOO 3.4)

Code: Alles auswählen

Function ufgetZeilenhoehe As Long
Dim oDoc As Object    
oDoc = ThisComponent  
If oDoc.SupportsService("com.sun.star.sheet.SpreadsheetDocument") Then
   ufgetZeilenhoehe = oDoc.getCurrentSelection().getRows().height
End If
End Function
Wenn ich den Funktionsaufruf (=ufgetZeilenhoehe()) nun einzeln in eine Zelle einer Zeile einfüge wird das richtige Ergebnis zurückgeliefert. Kopiere ich eine Zelle die den Funktionsaufruf beinhaltet in mehrere Zellen untereinander, erscheint immer das gleiche Ergebnis, egal wie hoch die Zeilen sind, in die einkopiert wird. Meiner Meinung müsste dies an "getCurrentSelection" liegen, da die Funktion immer die Zelle (Zeile) zugrunde liegt, von der wegkopiert und nicht die Zelle (Zeile) in die einkopiert wird.
Gibt eine Möglichkeit dies zu lösen?

MfG
Markus

Nach oben