Anzeige
Archiv - Navigation
1236to1240
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
Inhaltsverzeichnis

Checkbox, minimalste Größe, Mitsortierung

Checkbox, minimalste Größe, Mitsortierung
Reinhard
Hallo Wissende,
in dieser Mappe geht es nicht primär um den Code der Prozedur von CBErstellen, der hier unten auch noch steht.:
https://www.herber.de/bbs/user/77369.xlsm
Frage 1
Const W As Single = 23.25 'kleiner hat keinen Zweck
Const H As Single = 16.5 'kleiner hat keinen Zweck
Die beiden Variablen W^H geben Width und Height der Checkboxen an, die ich im Code mit
Set CB = .CheckBoxes.Add(L, T, W, H)
einfügen lasse.
Gebe ich kleinere Werte an als 23.25 bzw. 16.5 so wird das ignoriert.
Gibt es einen Weg die CheckBoxen per Code kleiner zu machen, also z.B. nur die Größe des Quadrats in ihnen?
Frage 3
Wenn man nun in diesem Tabellenzustand nach "kategorie" also Spalte 2 nach A-Z sortieren läßt durch Klick auf den Pfeil so funktioniert die Sortierung.
D.h. die Checkboxen wurden mitsamt der Zelle sortiert.
Aber wenn man die Spaltenbreite von C kleiner macht sodaß die Checkboxen jeweils noch ein bißchen
in Spalte D hineinragen, so wird falsch sortiert denn die Checkboxen bleiben auf ihrem Platz.
Ist das immer so? Denn das fiel mir noch nie auf.
Frage 3
Die CheckBoxen haben die Eigenschaft:
"Nur von Zellposition abhängig."
Warum kann ich nicht per Code diese Eigenschaft festlegen, bzw. wie müßte ich das machen:
"Von Zellposition und -Größe abhängig."
.Placement = xlMoveAndSize
wird nicht ausgeführt bzw. anscheinend in xlMove gewandelt
?
Frage 4
Bedienungsfrage zur Hilfe mit F1 in XL 2007.
Da ich nach längerem Nichtbenutzen von CheckBoxen die Reihenfolge der Paramter bei Add:
Checkboxes.Add(T,L,W,H)
nie exakt weiß, wie finde ich das in der mistigen XL 2007 Hilfe?
Danke ^ Gruß
Reinhard

Option Explicit
Sub CBErzeugen()
Dim Zei As Long, CB As Object, T As Single, L As Single
Const Anzahl As Integer = 200
Const W As Single = 23.25  'kleiner hat keinen Zweck
Const H As Single = 16.5   'kleiner hat keinen Zweck
Application.ScreenUpdating = False
With Worksheets("Projekte")
For Each CB In .Shapes
If CB.Name Like "Check*" Then CB.Delete
Next CB
For Zei = 2 To 201
ActiveWorkbook.Names.Add Name:="Check" & Zei - 1, _
RefersToR1C1:="=Projekte!R" & Zei + 1 & "C4"
.Cells(Zei, 3).FormulaR1C1 = "=IF(Check" & Zei - 1 & "=FALSE,""nicht "","""")&""bearbeitet"" _
T = .Cells(Zei, 3).Top + 6.75
L = .Cells(Zei, 3).Left + 92
Set CB = .CheckBoxes.Add(L, T, W, H)
With CB
.Name = "Check" & Zei - 1
.Caption = ""
.LinkedCell = "Check" & Zei - 1
.Placement = 2
End With
Next Zei
End With
Application.ScreenUpdating = True
End Sub

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Checkbox, minimalste Größe, Mitsortierung
07.11.2011 07:42:30
fcs
Hallo Reinhard,
generell ist es keine besonders gute Idee in längeren Listen mit Steuerelementen als Eingabeelementen zu arbeiten.
Besser ist es mit konkreten Zelleingaben zu arbeiten. In deinem Fall einfach ein "x" in die Zellen eintragen oder ggf. den Eintrag löschen. Unterstützen kann man das dann ggf. noch mit einer Datengültigkeitsprüfung oder auch einer Wertumschaltung bei Doppel-Klick in die Zelle.
Frage 1 und 2:
Das ist halt so. Änderungswünsche bei Microsoft anmelden.
Frage 3:
Das ist halt so. Änderungswünsche bei Microsoft anmelden.
Es macht aber auch nicht unbedingt Sinn, dass sich die Größe einer Checkbox automatisch an die Breite/Höhe der Zelle anpasst, wenn deren Höhe oder Breite geändert wird.
Frage 4:
üblicher Weise: Wort im VBA-Editor markieren, dann F1.
Hat bei mir unter Excel 2007 für "Checkboxes" und "Add" in diesem Fall aber nicht bzw. unzureichend funktioniert. Warum = ?
Gruß
Franz
Anzeige
AW: Checkbox, minimalste Größe, Mitsortierung
07.11.2011 20:42:49
Reinhard
Hallo Franz,
ich danke dir für deine Gedanken.
Für mein Alzheimer finde ich es halt völlig blöde daß ich bei Eingabe von
.CheckBoxes.Add
irgendwie keine Möglichkeit habe über die Hilfe auf das zu kommen was ich wissen will.
Heißt die Parameterreihenfolge nun
l,t,w,h
t,l,w,h
l,t,h,w
t,l,h,w
usw.
Da bleibt mir immer nur die Möglichkeit dies an enem Beispiel auszutesten :-(
Davon abgesehen, CheckBoxen aus Formular sind soweiso heikel wie ich erfahren mußte als ich mich jetzt aktuell damit befasste.
Meine Logik sagt mir, wenn ich per Code eine CB einfüge, z.B. über/in der Zelle C2.
Dann positioniere ich sie im/per Code so daß ich ihr erst eine bestimmte Breite (width) zuweise
und dann die left-Position aus der Berechnung von .Left von D2
M.E. müßte dann die CB komplett innerhalb von C2 stehen. Dem ist aber nicht so :-(
Ich habe in dem Zusammenhang noch mehr Ungereimtheiten entdeckt, aber egal, lassen wir das, wenn ich wieder mal mit Bill Gates Golf spiele werde ich das da erwähnen *grins*
Gruß
Reinhard
Anzeige

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige