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

kontrollkästchen

kontrollkästchen
11.07.2003 11:21:14
david
Hallo Forum,
ich habe eine Tabelle, in ich per Makro Zellen einfüge und wieder ausblende. In einer Spalte soll ein Kontrollkästchen sein, je nach Auswahl werden die Daten der entsprechenden Zeile verwendet, oder eben nicht.
Kann ich per VBA dem Kontrollkästchen einen Namen und eine Zelle zuweisen? Problem ist ja, dass eben immer wieder Zeilen dazu kommen oder wegfallen.
Falls jmd Erfahrungen hat, wärs nett, wenn er (sie) mich einweiht, dann könnte ich meine Suche aufgeben.
PS
Alternativ kann ichs auch so machen:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Bereich As Range
Set Bereich = Range("A:A")
If Intersect(Target, Bereich) Is Nothing Then
Else
If Target.Value = "X" Then
Target.Value = ""
Else
Target.Value = "X"
End If
End If
End Sub

Kontrollkästchen wäre nur eben hübscher.
Dank und Gruß
David

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: kontrollkästchen
11.07.2003 17:18:04
RainerW
Hallo David,
so sollte es gehen: (schade, dass der Code rechtsbündig ausgerichtet ist)
' Vorbereitung:
' Füge in ein Arbeitsblatt zwei Buttons mit den Namen
' CommandButton1 und CommandButton2 ein und kopiere nachfolgenden
' Code ins Codefenster der Buttons.
' Schreibe in Zelle F2 den Wert 0 und in G2 den Wert 12,75.
' Und nun klick schön :-)

Private Sub CommandButton1_Click()
Call CheckBoxEinfuegen
End Sub


Private Sub CommandButton2_Click()
Call CheckBoxPlatzieren
End Sub

' Die folgenden zwei Prozeduren kannst du auch so in ein Modul legen
Sub CheckBoxEinfuegen()
' Fügt eine CheckBox ins Arbeitsblatt in Zelle A1 ein
' (Left und Top = 0)

ActiveSheet.OLEObjects.Add(ClassType:="Forms.CheckBox.1", _
Link:=False, _
DisplayAsIcon:=True, _
Left:=0, _
Top:=0, _
Width:=69, _
Height:=21).Name = "MeineBox"
' Der "Name" der CheckBox ist NICHT die Caption-Eigenschaft;
' den Namen siehst du links in der Bearbeitungsleiste im Namensfeld.

'Call CheckBoxPlatzieren
End Sub

Sub CheckBoxPlatzieren()
' Verschiebt die TextBox - sie wird nicht neu gesetzt!

' Ein MinusWert in ".IncrementLeft" verschiebt die Box nach links
' In Range("F2") und Range("G2") habe ich Versuchswerte gelegt.
' Wenn du dir einen Button ins Arbeitsblatt legst, der diese
' Routine aufruft, dann kannst mit den Werten in F2 und G2
' etwas spielen.
' Bei normaler Zeilenhöhe von 12,75 (17 Pixel), schreiben z.B.
' in G2 den Wert 12,75 - dann wird die CheckBox pro Klick eine
' Zelle tiefer verschoben. Ein Vielfaches von 12,75 verschiebt
' die Box dann um ein Vielfaches an Zeilen.
' Ein Wert in F2 von 0 und in G2 von 1275 verschiebt die Box
' von A1 bei einem Klick auf den Button in Zelle A101.
' Experimentiere ein wenig mit deinen Zeilenhöhen.


With ActiveSheet.Shapes("MeineBox")
.IncrementLeft Range("F2") ' oder direkt Wert 10.25
.IncrementTop Range("G2") ' oder direkt Wert 10.5
End With
End Sub

Gruß Rainer

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige