Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema Label
BildScreenshot zu Label Label-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema TextBox
BildScreenshot zu TextBox TextBox-Seite mit Beispielarbeitsmappe aufrufen

Abstand von Textbox bis zum unter. Rand ermitteln

Betrifft: Abstand von Textbox bis zum unter. Rand ermitteln von: TomTom
Geschrieben am: 04.08.2008 10:47:11

Hi,

ich habe auf meinem Sheet eine Textbox1, die mit Inhalt gefüllt wird und dann unterschiedlich gross ausfallen kann.
Nun habe ich zwei weitere textboxen die soll in der Grösse (Höhe) so gross sein, dass sie sich den Rest des Sheets bis zum unteren Rand teilen. Also, je grösser meine erste Textbox ist, um so kleiner muss die zweite und dritte werden.

Wie kann ich ermitteln, wieviel Höhe mir von meiner textbox1 bis zum unteren Rand des Sheet noch zur Verfügung stehen, um den nacher durch zwei zu teilen und den beiden anderen textboxen in der Höhe zuweisen kann.

Danke mal

Gruss
Tom

  

Betrifft: AW: Abstand von Textbox bis zum unter. Rand ermitteln von: Daniel
Geschrieben am: 04.08.2008 11:23:03

Hi

mal so als Ansatz:

mit den Funktionen:

activewindow.VisibleRange.Top
activewindow.VisibleRange.Height


kannst du die Pixel-Positon und die Höhe des aktiven Fensters ermitteln.
gleiches geht hauch für die Textboxen mit

Textbox1.Top
Textbox1.Height



der Code dazu könnte dann so aussehen:

Sub test()
Dim a As Double
a = ActiveWindow.VisibleRange.Height - (TextBox1.Top - ActiveWindow.VisibleRange.Top) - TextBox1.Height

a = a / 2
TextBox2.Top = TextBox1.Top + TextBox1.Height
TextBox2.Height = a
TextBox3.Top = TextBox2.Top + TextBox2.Height
TextBox3.Height = a

End Sub

Gruß, Daniel


  

Betrifft: AW: Abstand von Textbox bis zum unter. Rand ermitteln von: TomTom
Geschrieben am: 04.08.2008 11:52:43

Hi,

was passiert den, wenn ich mein aktives Fenster mal minimiere, verändert sich da auch wieder meine Höhe der beiden Boxen ?
Das sollte nicht passieren, ich muss die Seite naher ausdrucken und ich gehe immer von einem vollen DinA4 Blatt aus.

Gruss
Tom


  

Betrifft: AW: Abstand von Textbox bis zum unter. Rand ermitteln von: Daniel
Geschrieben am: 04.08.2008 12:01:28

Hi

die grösse der Textboxen ändert sich immer nur dann, wenn das Makro läuft.
Änderst du die Fenstergrösse ohne hinterher das Makro laufen zu lassen, ändern sich die Textboxen nicht.

Gruß, Daniel


  

Betrifft: AW: Abstand von Textbox bis zum unter. Rand ermitteln von: TomTom
Geschrieben am: 04.08.2008 12:22:40

Hi Daniel,

aber wenn ich das Makro an einem Laptop mit anderer Auflösung laufen lasse oder das ganze an einem Rechner mit anderer Auflösung, dann habe ich aber jedesmal ein anderes Ergebnis, weil die gasamte Höhe der Monitore anders ist.
das Makro geht immer von der Auflösung aus aber nicht vom Rand des DinA4 Blattes

Man dürft nicht die Anzahl der Pixel abprüfen , sondern müsset den tatsächlichen Rand bis zur Fusszeile (Voransicht) ermitteln.


Gruss
Tom


  

Betrifft: AW: Abstand von Textbox bis zum unter. Rand ermitteln von: Daniel
Geschrieben am: 04.08.2008 12:38:15

Hi
von einem Ausdruck auf ein DinA4-Blatt war in deiner Anfrage ja auch keine Rede, da bin ich halt von der Bildschrimanzeige ausgegangen.
Sorry, wenn die Frage nicht präzise gestellt wird, dann ist die Anwort eben 42.

du kannst die position des ersten Zeilenumbruchs so feststellen:

activesheet.HPageBreaks(1).Location.top

damit das präzise funktioniert, solltest du vorher mal kurz die Seitenansicht aktivieren und der Druckbreich muss grösser als eine Seite sein.

Gruß, Daniel


  

Betrifft: AW: Abstand von Textbox bis zum unter. Rand ermitteln von: TomTom
Geschrieben am: 04.08.2008 13:01:10

Hi

sorry, wenn ich mich nicht richtig ausgedrückt habe.
Welchen Zeilenumbruch meinst Du denn und wie kann ich dann damit die Höhe meine zwei Textboxen berechnen ?

Gruss
Tom


  

Betrifft: AW: Abstand von Textbox bis zum unter. Rand ermitteln von: Daniel
Geschrieben am: 04.08.2008 13:25:46

Hi
sorry, meinte nicht Zeilenumbruch, sondern Seitenumbruch.
das ist die stelle, wo der Drucker ein neues Blatt anfängt.

über "activesheet.HPageBreaks(1).Location" bekommst du die Zelle, wo der erste horizontale Seitenumbruch sitzt und über "activesheet.HPageBreaks(1).Location.Top" eben die Pixel-Position dieser Stelle

ist im Prinzip das gleiche wie VisibleRange, nur halt nicht für den Bildschirm, sondern für den Drucker

Gruß, Daniel


  

Betrifft: AW: Abstand von Textbox bis zum unter. Rand ermitt von: TomTom
Geschrieben am: 04.08.2008 15:33:49

Hi Daniel

Danke, ach so, der Seitenumbruch. Aber wenn ich den restlichen Platz , der für die zwei beschriebenen Textboxen zur Verfügung stehen soll, noch ausrechnen muss, dann brauche ich doch die Position meiner ersten Textbox, wo sie endet, bzw, wie weit sich nach unten reicht.

Oder denkst Du an sowas, dass ich von activesheet.HPageBreaks(1).Location.Top (also meine Gesamthöhe) die Höhe meiner ersten Textbox abziehen und den Rest durch 2 teile und diesen errechneten Wert dann als Höhe für meine beiden folgenden Textboxen nehme ?


Gruss
Tom


  

Betrifft: AW: Abstand von Textbox bis zum unter. Rand ermitt von: Daniel
Geschrieben am: 04.08.2008 15:39:38

Hi

Hpagebreaks(1).Location.Top ist quasi der Platz, den du auf deinem ersten Blatt zu verfügung hast.

bei der Berechnung des freien Platzes unterhalb der Texbox1 musst du immer Höhe (.Height) und Startposition (.Top) der Textbox1 berücksichtigen.

Gruß, Daniel


  

Betrifft: AW: Abstand von Textbox bis zum unter. Rand ermitt von: TomTom
Geschrieben am: 04.08.2008 18:14:40

Hi,

also, dann gehe ich davon aus, dass meine Vermutung richtig ist:
werde mal von Hpagebreaks(1).Location.Top die Höhe meiner textbox1 abziehen, dann noch mal ca. -10 und dann hätte ich ja eigentlich Textbox2.top.

Dann müsste doch die Textbox2 direkt unter Textbox1 stehen, oder


Gruss
Tom


  

Betrifft: AW: Abstand von Textbox bis zum unter. Rand ermitt von: Daniel
Geschrieben am: 04.08.2008 18:29:40

Hi

wie sagt man bei uns in der Firma so schön: Versuch macht kluch(g)

aber ein sei dir gesagt, die Startposition der Textbox2 hängt nur dann vom Hpagebreaks(1).Location.Top ab, wenn die Textboxen auf der 2. Seite erscheinen sollen.

Gruß, Daniel


  

Betrifft: AW: Abstand von Textbox bis zum unter. Rand ermitt von: TomTom
Geschrieben am: 04.08.2008 19:08:02

Hi Daniel,

nein, meine 2. Textbox soll eigentlich auch auf der ersten Seite erscheinen.

Gruss
Tom


 

Beiträge aus den Excel-Beispielen zum Thema "Abstand von Textbox bis zum unter. Rand ermitteln"