Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
540to544
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
540to544
540to544
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Checkboxen nur in ausgewählten Zeilen löschen
03.01.2005 14:07:43
EL-JUNGO
Brauche unbedingt HILFE!!!
Hallo erstmal!
Habe eine Tabelle mit mehreren Kontrollkästchen (Checkbox).
Wenn ich z.B eine Zeile makiere die gelöscht werden soll, überschreiben sich die Kontrollkästchen.
Habe nun ein Makro gefunden, dass per Buttonclick alle im Dokument befindlichen Kontrollkästchen löscht!
Möchte aber nur einen ausgewählten Bereich löschen! Wenn es geht auch noch die Inhalte. Also mit ClearContents oder wie die Funktion heißt!
Hier der Code, den ich bisher habe!!

Sub CommandButton1_Click()
Dim Sh As Object
With Sheets("Oktober")
For Each Sh In ActiveSheet.Shapes
If InStr(Sh.Name, "Check") > 0 Then Sh.Delete
Next
End With
End Sub

Hey im voraus schonmal tausendfacher dank für jede Antwort!
EL-JUNGO

20
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Checkboxen nur in ausgewählten Zeilen löschen
03.01.2005 14:34:00
Josef
Hallo ? (realnames sind hier üblich und erwünscht!)
Versuch's mal so:

Sub CommandButton1_Click()
Dim oObj As OLEObject
Selection.ClearContents
With Sheets("Oktober")
For Each oObj In ActiveSheet.OLEObjects
If TypeName(oObj.Object) = "CheckBox" And _
Not Intersect(Selection, oObj.TopLeftCell.Range("A1")) Is Nothing Then oObj.Delete
Next
End With
End Sub

Gruß Sepp
AW: Checkboxen nur in ausgewählten Zeilen löschen
03.01.2005 14:41:54
Christoph
Danke für die schnelle Antwort!
Aber bei deiner Lösung wird nur der Zelleninhalt gelöscht. Also praktisch nur die Schrift und ohne die Kontrollkästchen.
Aber ist schonmal gut, da dass markierte gelöscht wird!
Anzeige
AW: Checkboxen nur in ausgewählten Zeilen löschen
03.01.2005 14:49:34
Josef
Hallo Christoph!
Dann sind deine CheckBoxen nicht genau auf den Zellen ausgerichtet!
Probier mal

Intersect(Selection, oObj.TopLeftCell.Range("A1"))

zu ändern in

Intersect(Selection, oObj.TopLeftCell.Range("A2"))

Gruß Sepp
AW: Checkboxen nur in ausgewählten Zeilen löschen
Christoph
Hallo Sepp.
Funktioniert leider immer noch nicht!
Gruß zurück
AW: Checkboxen nur in ausgewählten Zeilen löschen
03.01.2005 15:00:11
Josef
Hallo Christoph!
Deine Checkboxen sind auf "Steuerelemente" oder "Formular" ?
Gruß Sepp
AW: Checkboxen nur in ausgewählten Zeilen löschen
Christoph
Also hab jetzt gerade mal nachgeschaut. Ja meine checkboxen sind "Steuerelemnte"
Muss noch dazu sagen, dass ich das Dokument nicht entworfen habe!
Habe nur von meinem Chef die Anweisung bekommen, dass ich versuchen soll, damit das ausgewählte gelöscht wird.
MFG
Anzeige
AW: Checkboxen nur in ausgewählten Zeilen löschen
03.01.2005 15:09:01
Josef
Hallo Christoph!
Dann versuchen wir noch,

Intersect(Selection, oObj.LinkedCell.Range("A1"))

Gruß Sepp
Korrektur!
03.01.2005 15:12:24
Josef
Hallo !
So muss es heisen!

Intersect(Selection, Range(oObj.LinkedCell))

Gruß Sepp
AW: Korrektur!
03.01.2005 15:22:13
Christoph
Hallo.
Habe es ausprobiert. Der Interrupter bringt mir die Fehlermeldung
--> Methode "Linked Cell" für Objekt OLEObject ist Fehlgeschlagen. Ich denke mal deshalb, da die einzelnen Kontrollkästchen mit keiner Zelle verknüpft sind.
Oder?
MFG
AW: Korrektur!
03.01.2005 15:24:08
Josef
Hallo Christoph!
Kannst du das entsprechende Tabellenblatt hochladen?
Gruß Sepp
Anzeige
AW: Korrektur!
Christoph
Ja klar!
Schau dir es mal an! Hab vorher noch ein anderes Makro versucht das mit einem Button verknüpft wurde. Hat auch nicht funktioniert!
AW: Korrektur!
Christoph
Du das Tabellenblatt ist größer als die vorgeschriebenen 300kb!
1,6mb
Hab zeilen gelöscht und es ist immer noch so groß!
MFG
Zippen! o.T.
03.01.2005 15:38:46
Josef
Gruß Sepp
AW: Zippen! o.T.
Christoph
Verdammt gute Idee! :-)
AW: Zippen! o.T.
03.01.2005 16:04:20
Josef
Hallo Christoph!
Die Checkboxen sind aus "Formular" !

Sub CommandButton1_Click()
Dim rng As Range
Dim oObj As Shape
On Error GoTo ERRORHANDLER
Application.ScreenUpdating = False
For Each rng In Selection
rng = "" 'wegen der verbundenen Zellen!
Next
With Sheets("Oktober")
For Each oObj In ActiveSheet.Shapes
If oObj.Name Like ("Check Box*") And _
Not Intersect(Selection, oObj.TopLeftCell.Range("A1")) Is Nothing Then oObj.Delete
Next
End With
ERRORHANDLER:
Application.ScreenUpdating = True
End Sub

Gruß Sepp
Anzeige
*grinz*
Christoph
Hallo Sepp!
Hey vielen Dank! SUPER Hilfe echt!
Es funktioniert einwandfrei!
Vielen Dank!!!
Gruß Christoph
AW: Korrektur!
Christoph
Hat glaub net funktioniert!
Mom....
AW: Korrektur!
03.01.2005 15:36:26
Josef
Hallo Christoph!
Nach dem Hochladen musst du über "Pfad zur Datei" den link kopieren und
in deine Nachricht einfügen!
Wichtig ist auch ein kurzer Dateiname one sonderzeichen und keine
zu tiefe Verschachtelung des Pfades!
Gruß Sepp
Danke
Christoph
Hey DANKE SEPP! FUNKTIONIERT SUPER!
Echt super Hilfe Danke!!
Hab jetzt noch eine Frage. Ich will den Rest vom Dokument noch aufschieben.
Hab was versucht, aber es schiebt lediglich immer nur eine Zeile auf. Da aber immer im grunde genommen 4 verbundene Zeilen (4Zeile zu einer 1 verbunden) gelöscht werden!
Hast du eine Idee?
Dann währe es wirklich perfekt.
Wenn nicht ist es auch schon perfekt!
Echt danke nochmal!
Gruß Christoph
Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige