… Ouch, ich hab gedacht den TypeName muss ich noch in das
selektierte Element ändern… gut jetzt klappt der Code…
Ich danke dir ! Und hier für alle mit ähnlichen Problem mal
der Code wie er jetzt ausschaut:
Hallo Almheidy,
bei Darstellung von Code hier bei w-w-w benutze bitte den
pre-Tag, wird unterhalb des Eingabefensters erklärt.
Dann bleiben deine Leerzeichen-Einrückungen erhalten.
Andreas hat ja zwischenzeitlich Code gezeigt.
In der Zeile Selection.Rowheight mach aus der 19 eine 18.
Und füge nach Selection.Rowheight ein „=“ ein.
Zu deinem Code.
num1 = Selection.RowHeight - 18
Selection.RowHeight = num1
ist kürzer so
Selection.RowHeight = num1 - 18
Ich weiß, man ist verführt zu denken ich prüf erst mit
IF ob etwas zutrifft, dann erst benutze ich DIM.
Ist bei Vba zwecklos.
Beim Start einer Prozedur wird ein kleiner Teil des Codes
kompiliert, der große Rest wird dann interprtiert.
Alle DIMs werden beim Start kompiliert, egal wo sie im Code stehen.
Ergo, schreib alle Variablendeklarioten mit DIM, CONST immer
zu Anfang des Codes.
Dann, was man immer im Hinterkopf haben sollte, was könnte
ein Fremduser meines Codes denn so machen mit dem Button.
Er könnte z.B. mehrere Zellen selektieren.
Und das hat dann Nebeneffekte, Kolaterlaschäden zur Folge.
Ich habe das in XL2000 und in XL2007 überprüft, die Hilfe
sagt zu RowHeight etwas falsches oder ich kapiers nich.
Sie sagt:
„Bei mehreren Zeilen gibt RowHeight entweder die Höhe einer
einzelnen Zeile zurück (wenn alle Zellen gleich hoch sind)
oder Null (wenn die Höhe der Zellen unterschiedlich ist)“
Ich habe sehr wohl mehrere Zellen untereinander auf einmal
markiert. Da war nix mit Null, Selection.RowHeight gab
die Höhe der obersten Zelle zurück. (Nicht unerwartet)
D.h. aufgrund der Auswertung einzig der oberen Zelle werden
alle Zellen der Selection gleich behandelt.
Testests aus. Natürlich nicht wenn alle fraglichen Zellen
nur 18 Höhe haben. Sollten schon 36, 54 o.ä. haben.
Abhilfe, mit
if selection.cells.count 1 then exit sub
bzw.
if selection.count 1 then exit sub
Gruß
Reinhard