9.5k Aufrufe
Gefragt in Tabellenkalkulation von michael10 Mitglied (109 Punkte)
Hallo Gemeinde,

ich habe eine Datei in Ecxel 1997-2003 erstellt.
Diese Datei ist mit Schaltflächen versehen die zur Navigation und zum auslösen von Druckbefehlen dienen. Die Schaltflächen sind alle Schreibgeschützt und lassen eigentlich nur auslösen.

Seit 14 Tagen läuft die Datei auf einem Rechner der mit Excel 2010 ausgestattet ist, im Kompatbilitätsmodus, seit dem verschwinden nach dem auslössen einer Schaltfläche die Bouttons oder verschieben ihre Position oder die Größe.

Auf meinem Rechner (Excel 2007) passiert das nicht, daher kann ich nicht nach voll ziehen an was das liegen könnte.

Ich hoffe es hat hier jemand ein Idee was das ist.

Gruß Michael

17 Antworten

0 Punkte
Beantwortet von hajo_zi Experte (9.1k Punkte)
Hallo Michael,

von solchen Problemen liest man oft. Ich empfehle da immer Formular Steuerelemente.

Gruß Hajo
0 Punkte
Beantwortet von michael10 Mitglied (109 Punkte)
@Hajo

danke erst mal für deine Antwort.
Die Datei läuft seit 11 Jahren auf unterschiedlichen Rechnern mit verschiedenen Excel Versionen und ich hatte noch nie dieses Problem!
Da gibt es keine Lösung, eine Einstellung in Excel 2010?

Gruß Michael
0 Punkte
Beantwortet von hajo_zi Experte (9.1k Punkte)
Hallo Michael,

meine Variante gefällt Dir also nicht. Bei Klick das Objekt immer an die richtige Position schieben.

Gruß Hajo
0 Punkte
Beantwortet von michael10 Mitglied (109 Punkte)
@ Hajo

ich versteh deine Antwort nicht.

"Bei Klick das Objekt immer an die richtige Position schieben."

was meinst du damit?

Gruß Michael
0 Punkte
Beantwortet von hajo_zi Experte (9.1k Punkte)
jedes Steuerelement hat ein Top und ein Left und das bei Click zuweisen.

Gruß Hajo
0 Punkte
Beantwortet von michael10 Mitglied (109 Punkte)
@Hajo

tut mir leid ich kann dir nicht folgen ich weiß nicht was du meinst!?

Gruß Michael
0 Punkte
Beantwortet von michael10 Mitglied (109 Punkte)
Hallo noch mal,

die Frage noch mal nach oben, vieleicht hat doch noch einer eine Idee.

Gruß Michael
0 Punkte
Beantwortet von
Hallo Michael,

was Hajo meint ist, du sollst dem Code der ausgeführt wird, wenn die Schaltfläche geklickt wird, zusätzliche Zeilen hinzufügen. Mit Top/Left bestimmst du die Position und mit Width/Height die Größe

z.B ActiveSheet.Shapes("Schaltfläche1").Top = 20

Wie Die Schaltfläche heißt siehst du am Makronamen in dem der Code liegt. (z.B. SUB Schaltfläche1_Click())

Wenn du komplett auf Excel 2010 umsteigst, empfehle ich aber das NeuAnlegen der Schaltfläche, da auch ich Kompatibilitätsprobleme zwischen den Microsoft.Forms-Versionen beobachtet habe.

Gruß Mr. K.
0 Punkte
Beantwortet von
Hallo Michael

Um was für eine Schaltfläche handelt es sich denn? Ist es ein Formularsteuerelement (Shape) oder eine VBA ActiveX Komponente?

In letzterem Fall kannst lautet der o.g. Code z.B.
ActiveSheet.CommandButton1.Top = 20

Gruß Mr. K.
0 Punkte
Beantwortet von beverly Experte (3.5k Punkte)
Hi Michael,

führe beim Öffnen der Arbeitsmappe ein Makro aus, in dem du jedem Steuerelement seine Position zuweist.
Wenn es sehr viele Steuerelemente sind, dann ist es am einfachsten, wenn du eine (ausgeblendete) Hilfstabelle anlegst, in der du die Namen aller Steuerelemente und deren Position (Top und Left) auflistest - dann kannst du in einer Schleife über diese Zellen laufen, die Daten auslesen und den jeweiligen Steuerelementen zuweisen..

Bis später,
Karin
...