Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
524to528
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
524to528
524to528
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Erreigniss Zeilenhöhe

Erreigniss Zeilenhöhe
29.11.2004 09:11:39
Thomas
Hallo,
ich möchte in meinem Worksheets ("Tabelle1") immer dann ein bestimmtes Erreigniss ausführen.. wenn die HÖHE einer Zeile verändern wird.
Mein Ansatz war der:
Das ich mir zuerst die Höhe aller Zeilen einlese und danach immer schau ob sie größer geworden sind.. Ist aber auch nicht wirklich gut..
Mein Problem ist das bei mir ziemlich viele Erreignisse in "Private Sub Worksheet_SelectionChange(ByVal Target As Range)" ausgeführt werden... deshalb brächt ich eine Abfrage die nur spezial für diesen Fall (Zeilenerhöhung) eintritt!!
Guss Thomas

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Erreigniss Zeilenhöhe
Udo
Das Verändern der Zeilenhöhe löst kein Ereignis aus.
Udo
AW: Erreigniss Zeilenhöhe
29.11.2004 09:33:19
hans
Man kann ber auf das verändern der Zeilenhöhe ein Erreigniss auslösen indem eine entsprechende Abfrage erstellt.!!
AW: Erreigniss Zeilenhöhe
29.11.2004 09:33:28
hans
Man kann ber auf das verändern der Zeilenhöhe ein Erreigniss auslösen indem eine entsprechende Abfrage erstellt.!!
AW: Erreigniss Zeilenhöhe
Udo
Hast du da mal ein Beispiel?
Udo
AW: Erreigniss Zeilenhöhe
29.11.2004 09:55:47
Hans
Jo,
aber wenn ich meinen Quellcode hier einfüge kommt irgendwelche HTML-Syntax...
Wie kann ich denn mein Quellcode hier einfügen?
Gruss hans
AW: Erreigniss Zeilenhöhe
Udo
Einfach kopieren und einfügen.
Udo
AW: Erreigniss Zeilenhöhe
29.11.2004 10:21:39
Hans
Hi UDO,
hier mein Beispiel..
Quellcode :
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
For i = 41 To 59

a = ""

Rows(i).Select
a = ActiveCell.RowHeight
If a größer 15 Then
MsgBox ("Zeilenhöhe wurde verändert! ")



End If
Next i
End
Anzeige
AW: Erreigniss Zeilenhöhe
Udo
Ziemlich naiv, oder?
Udo
AW: Erreigniss Zeilenhöhe
29.11.2004 10:34:41
Hans
Schon aber es wiederlegt deine Aussage..
Hast du vielleicht ne bessere Variante? Ich Weiss es nicht?
Ich hab auch gerade das Problem das bei mit ständig irgendwelche Erreignisse ausgeführt werden. Was kann man den gegen sowas machen...
Z.b. überprüf ich immer wenn eine Zelle verändert wurde ob irgendein wert noch stimmt..
Problem in einer anderen Prozedur springt der auch ständig auf dieses Erreigniss...
Wenn im Quellcode z.b. cells(1,1).select steht springt der ständig auf dieses Ereigniss wodurch dann natürlich alles länger dauert.
Was kann man prinzipiell dagegen Tun?
Wäre schön wenn du ne Lösung hättest!!
Gruss Hans
Anzeige
AW: Erreigniss Zeilenhöhe
Udo
Tut mir Leid, ich verstehe nichtmal, was konkret dein Problem ist, bzw. was du erreichen willst.
Udo
AW: Erreigniss Zeilenhöhe
29.11.2004 11:00:22
Hans
In meinem Programm werden auf folgendes Erreigniss ständig prozeduren ausgeführt!
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Das ist dehalb so weil ich den Anwender nicht jedes mal auf ein Button klicken lassen will.
Mein Problem ist:
Ich hab ein Worksheet...dieses wird vom Anwender ausgefüllt und später in eine andere Datei kopiert. Ich kopiere jedes mal den Druckbereich in die andere Datei.
Der Druckbereich ändert sich aber so bald die Zeilenhöhe verändert wird. D.h. Wenn die Zeilehöhe größer wird, wird auch der Druckbereich größer!!
Da der Druckbereich aber immer die selbe göße haben muss (in Pixel oder cm z.b höhe = 700 Pixel) muss der Druckbereich immer wenn die Höhe einer Zeile verändert wurde aktualisiert werden.
Das mach ich mit diesem Quellcode:
Dim rng As Range
zeile = 0
b = 0
Application.ScreenUpdating = False
Do
a = ""

zeile = zeile + 1
a = Rows(zeile).Select
a = ActiveCell.RowHeight
b = b + a
Debug.Print "" & b & ""
Loop Until b größer 700
aktuz = ActiveCell.Row
aktuz = aktuz - 1
Rows(aktuz).Select
bereich1 = Cells(1, 7).Address
bereich2 = ActiveCell.Address

'Debug.Print "" & z & ""
Worksheets("tabelle1").PageSetup.PrintArea = bereich1 & "." & bereich2
Set rng = Range(ActiveSheet.PageSetup.PrintArea)
Wenn du das jetzt nicht verstanden hast dann beantworte wenigstens nächste Frage!!
Immer also wenn sich die höhe eine Zeile verändert muss etwas automatisch ausgelöst werden.
Wie realisierst du das denn?
Gruss Hans
Anzeige
AW: Erreigniss Zeilenhöhe
EtoPHG
Hallo Hans,
Das Problem wurde doch schon letzte Woche rumgewälzt ?
Warum stellst Du dem Benutzer nicht, vor dem Drucken, per VBA die Zeilenhöhen auf den Default-Wert?
Damit kann er Zeilenhöhen verstellen soviel er will, und es wird im von selbst verleiden, wenn sie anschliessend wieder gleich wie vorher sind.
Gruss Hansueli

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige