Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Formularsteuerelemente verstecken wenn Zelle leer
#11
Hallo nochmal,

schön dass hier so fleißig weiter diskutiert wurde.

Habt mir sogar noch n cleveren Tipp gegeben, wahrscheinlich ohne es zu wollen. Euren Antworten entnehme ich, dass man die Checkboxen mit einer Zelle 'verknüpfen' kann. Also nicht 'linked cell', in der dann der Wert 'true' oder 'false' der Checkbox widergegeben wird, sondern positionieren, dass die Checkbox immer in der gleichen Zelle ist.

Wie geht das?

Vielen Dank schon mal für eure Antwort(en)

VG

Travis5002
Antworten Top
#12
Hallöchen,

Du kannst z.B. den Checkboxen die top - und left - Eigenschaft einer Zelle mitgeben, z.B. im Prinzip
check1.left=cells(1,1).left+1
check1.top=cells(1,1).top+1
Damit wäre die obere linke Ecke in der Zelle und der andere Code würde funktionieren.
Beim Steuerelement formatieren kannst Du dann noch mitgeben, dass die Position von der Zelle abhängig ist.
Wenn aber jemand manuell die Position verändert, dann ist sie eben weg.

Alternativ könntest Du über linkedcell die verlinkte Zelle herausbekommen und die Checkbox dazu positionieren
check1.left=Range(Check1.LinkedCell).left+1
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#13
Hi,

(18.01.2016, 22:12)schauan schrieb: check1.left=cells(1,1).left+1
check1.top=cells(1,1).top+1

und das +1 ist, damit das nicht genau auf der Kante der Zelle sitzt?!
Antworten Top
#14
Hallo Zusammen,

leuchtet mir noch nicht so richtig ein :92:  .

Es handelt sich ja im Formularsteuerelemente, also keine Active X Schaltflächen. Wo hinterlege ich dann den angegebenen Code? Auf den Commandbutton?

VG und Vielen Dank!
Antworten Top
#15
Hallo Travis,

unten stehnden Code einmal ausfüheren, dann sind die Boxen Ein-und Ausgerichtet. Siehe Kommentare im Code.


Code:
Sub Chekboxen_Platzieren_und_groeße_anpassen()
  Dim chkElement As CheckBox
  For Each chkElement In ActiveSheet.CheckBoxes
    chkElement.Top = Range(chkElement.LinkedCell).Top  'Oberer Rand; LinkedCelle oberer Rand +1
    chkElement.Left = Range(chkElement.LinkedCell).Offset(0, 3).Left + 1 'linksausrichtung; linker Rand aus Zelle von LinkedZelle 3 Spalten nach rechts versetzter Zelle
    chkElement.Height = Range(chkElement.LinkedCell).Cells.Height - 2  'Höhe, Höhe der LinkedCell -2
  Next
End Sub

Die Zahlen +1, -2 kannst Du Deinen Wünschen entsprechend anpassen.
Gruß Atilla
Antworten Top
#16
Hallo Ralf,

ja, dazu ist das gut. Da bist Du dann, wenn keiner was verschiebt, in der Zelle und mit TopLeftCell an der richtigen Adresse Wink
Siehe auch zwischenzeitliche Antwort von atilla, der damit für die Ausrichtung sorgt.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#17
Hallo Attila, schauan,

Vielen Dank, hab den Code angepasst und ausgeführt, klappt wunderbar!

Schönen Gruß,

Travis5002
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste