Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
828to832
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
828to832
828to832
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Tabellendimensionen ermitteln

Tabellendimensionen ermitteln
16.12.2006 22:19:51
Jochen
Hi,
muss die Spaltenbreiten und Zeilenhöhen einer gesamten Tabelle in Point
ermitteln. Geht das auch ohne Schleife und vor allem, wie?
mfg Jochen

19
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Wohl kaum! - Gruß owT
16.12.2006 23:15:24
Luc:-?
:-?
AW: Tabellendimensionen ermitteln
16.12.2006 23:43:19
EtoPHG
Hallo Jochen,$
Klar geht das auch ohne Schleife...
aber dafür auch mit sehr wenig Sinn...
so à la:

Gesamthöhe = Gesamthöhe + Tabelle.Zeile(1).Höhe
Gesamthöhe = Gesamthöhe + Tabelle.Zeile(2).Höhe
Gesamthöhe = Gesamthöhe + Tabelle.Zeile(3).Höhe

bis Dir oder dem Compi schlecht wird...
Gruss Hansueli
AW: Tabellendimensionen ermitteln
16.12.2006 23:55:15
Jochen
Hi,
du bist ja noch witziger als das, was im Fersehen so als Comedy verramscht wird.
mfg Jochen
AW: Tabellendimensionen ermitteln
17.12.2006 00:01:07
EtoPHG
Hallo Jochen,
Wenn Du mir einen plausiblen und trifftigen Grund geben kannst, warum ich keine Schleife bei der Lösung einsetzen darf, liefere ich Dir eine Lösung OHNE Schleife. Wenn Du mir aber keinen solchen Grund angeben kannst, muss ich Dich leider hängen lassen... (ohne Witz).
Gruss Hansueli
Anzeige
AW: Tabellendimensionen ermitteln
17.12.2006 00:05:15
Jochen
Hi,
die einzelnen Zeilenhöhen beim Start einer Userform zu addieren dauert einfach einen Kick zu lange(ca. 1 Sekunde), deshalb bin ich ich auf der Suche nach einer schnelleren
Lösung, so es die geben sollte.
mfg Jochen
AW: Tabellendimensionen ermitteln
17.12.2006 00:29:12
EtoPHG
Hallo Jochen,
Keinen Dunst, wie Dein Code aussieht, aber eine Sekunde ist sehr lang und da musst Du noch wesentlich anderes falsch machen, als nur eine Schleife zu haben. Aber vielleicht kannste ja damit was anfangen (als Beispiel für den Bereich A1:IV65535) :

Sub Til()
MsgBox "Höhe:" & Range("A1:IV65535").Height & vbCrLf & _
"Breite:" & Range("A1:IV65535").Width
End Sub

Gruss Hansueli
Anzeige
AW: Tabellendimensionen ermitteln
17.12.2006 00:41:25
Jochen
Hi,
das hast du wohl nicht richtig getestet? Egal welche Zeilenhöhen festgelegt werden,
liefert dein Code immer 24575,25 für die Höhe. Ich brauche aber die reale Dimension,
die allerdings eine Schleife erfordert und alle Zeilenhöhen addiert, was aber zur
bereits erwähnten Sekunde Laufzeit führt.
mfg Jochen
AW: Tabellendimensionen ermitteln
17.12.2006 01:08:25
EtoPHG
Hallo Jochen,
Tur mir leid, aber das liegt nicht an meinem Testen.
Excel hat da irgendwie eine Macke: Ab einer bestimmten anzahl zeilen, bleibt das Höhenresultat immer gleich. Also beklag Dich bitte bei Billy Gates. Dabei könntest Du mich lobend erwähnen, weil mit diesem Workaround funktioniert:

Sub Katastrophe()
MsgBox "Höhe:" & Range("A1:IV15000").Height _
+ Range("A15001:IV30000").Height _
+ Range("A30001:IV45000").Height _
+ Range("A45001:IV60000").Height _
+ Range("A60001:IV65536").Height & vbCrLf & _
"Breite:" & Range("A1:IV65536").Width
End Sub

Gruss Hansueli
Anzeige
AW: Tabellendimensionen ermitteln
17.12.2006 01:21:13
Klaus-Dieter
Hallo Hansueli,
da kommt eine größere Zahl raus, aber wieder immer die gleiche. Ich denke auch, dass man da auf irgendwelche Limits stösst. Aber wenn die Berechnung bei unserem Freund eh nur eine Sekunde dauert, frage ich mich, warum man damit seine Zeit vergeudet, noch was schnelleres zu finden.
Viele Grüße Klaus-Dieter

Online-Excel
AW: Warum addieren? Er schreibt doch im...
17.12.2006 03:19:50
Luc:-?
...Plural - Zeilenhöhen und Spaltenbreiten. Und warum Userform, wenn das zu lange dauert - das kann man doch samt Summenformel auch in ein Blatt ausgeben, wenn es nur zu Ermittlungszwecken ist... Oder es fehlt hier eine Info...
Gruß Luc :-?
Anzeige
Seltsame Höhenangaben in Range
17.12.2006 10:54:00
EtoPHG
Hallo Dieter,
Hab ich gestern Nacht auch noch festgestellt, aber war dann zu Müde.
Also die Sache verhält sich sehr seltsam:
Wenn die Summe der Zeilenhöhen den Wert 24'575.25 überschreitet, wird nix mehr hinzugezählt. Es ergibt sich ungefähr folgende Tabelle, bei denen dieses Limit erreicht wird:

Zeilenhöhen    Anzahl Zeilen
0.5    65'536
0.75   32'768
Standard  12.75    1'929
Grösste  409.5        61

Um die korrekte Höhe zu ermitteln, müsste man also eine Schleife (Neiiiiiiinnnnn...) bauen, die sich in 1093 60er Schritten der Tabelle annimmt, da man die Zeilenhöhe vorher nicht kennt.
Gruss Hansueli
P.S. Vielleicht finde ich trotzdem noch eine Möglichkeit ohne Schleife, abwarten!
Gruss Hansueli
Anzeige
Die ULTIMATIVE Höhenermittlung
17.12.2006 11:25:25
EtoPHG
Hallo zusammen,
Ohhhhhhhhhhhhhhhhnnnnee Schleiiiiiiiiiiiiffffe......
Einfacht geht's wohl nimmer:
MsgBox Range("A65536").Top + Range("A65536").Height
Gruss Hansueli
AW: Die ULTIMATIVE Höhenermittlung
17.12.2006 11:38:23
Jochen
Hi,
Superidee, und so gehts dann auch gleich noch in Excel 12:

Sub tiler()
Dim rc As Long
rc = Rows.Count
MsgBox Rows(rc).Top + Rows(rc).Height
End Sub

mfg Jochen
AW: Seltsame Höhenangaben in Range
17.12.2006 11:26:19
Jochen
Hi,
ohne Schleife wäre im Hinblick auf die 1.048.576 Zeilen im Kommenden Excel 12
schon hilfreich.
mfg Jochen
Höhenangaben gesamte Tabelle, für was?
17.12.2006 11:35:52
EtoPHG
Hallo Jochen,
Würde mich trotzdem brennend interessieren, was Du mit dieser Höhenangabe anstellst...??
Gruss Hansueli
Anzeige
AW: Höhenangaben gesamte Tabelle, für was?
17.12.2006 11:58:06
Jochen
Hi,
damit soll verhindert werden, das Diagramme per Code außerhalb des sichtbaren Bereichs verschoben werden können, klappt auch.
mfg Jochen
AW: Tabellendimensionen ermitteln
17.12.2006 00:29:46
Klaus-Dieter
Hallo Jochen,
hilft das?

Sub groesse()
Cells(1, 5) = Range("A1:C1").Width
Cells(1, 6) = Range("A1:A3").Height
End Sub

Viele Grüße Klaus-Dieter

Online-Excel
AW: Tabellendimensionen ermitteln
17.12.2006 22:21:32
Daniel Eisert
Hallo
ja, genau so, und wenn die Anzahl der Zeilen und Spalten nicht so genau bekannt ist, dann eben so:
(Cells(1,1) ggf durch eine Zelle ersezten, die innerhalb der Tabelle liegt):
Breite = cells(1,1).currentregion.width
Höhe: = cells(1,1).currentregion.height
Bleibt nur noch die Frage, ob der von Excel zurückgegebene Wert schon Points entspricht oder noch mal umgerechnet werden muß. Deswegen mach ich die Frage nochmal auf.
Gruß, Daniel
Anzeige
Erledigt oT
17.12.2006 22:26:43
Jochen
ot

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige