Live-Forum - Die aktuellen Beiträge
Datum
Titel
18.04.2024 18:04:29
18.04.2024 16:33:24
Anzeige
Archiv - Navigation
1400to1404
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
Alle nicht gesperrten Zellen löschen: Problem
08.01.2015 21:46:39
Bernhard
Happy new year liebe VBA Experten
für mich gilt leider: "still: VBA very poor"
In Tabelle1 sollen beim Öffnen der Datei alle Checkboxen zurückgesetzt und alle nicht gesperrten Zellen geleert werden. In einer Testdatei funktionierte das mit dem unten dargestellten Makro (mit Hilfe dieses Forums erstellt). Als ich die Sache in der gewünschten Anwendung unterbrachte, gab es ein Problem: Die Tabelle erfasst den Bereich A1 bis W53. Sie enthält auch viele verbundene Zellen (z.B. besteht A53 aus den verbundenen Zellen A53 bis W53). Da macht das Makro nicht mit. Es kommt die Meldung: "Laufzeitfehler 1004. Kann Teil einer verbundenen Zelle nicht ändern".
Kann mir jemand erklären, wie ich die verbundenen Zellen mit erwische ?
By the way noch ein grundsätzliches Verständnisproblem (s.o. "... very poor", sorry):
1. Wenn ich ein Makro erstelle und ich mir einen mehr oder weniger sinnvollen Namen dafür ausdenke, dann ist alles hinfällig sobald ich "workbook_open" oder Vergleichbares verwende. Ist das o.k. ? Wozu gebe ich dann einen Namen ein ?
2. Kann man ein Makro auch nur einem von zahlreichen Blättern zuordnen bzw. ist das sinnvoll ?
Lg Bernhard
Sub workbook_open()
Dim Box As OLEObject
Dim Zelle As Range
If Worksheets("Tabelle1").Cells(3, 45) = 1 Then
For Each Box In Worksheets("Tabelle1").OLEObjects
If TypeName(Box.Object) = "CheckBox" Then
Box.Object.Value = False
End If
Next
For Each Zelle In Worksheets("Tabelle1").Range("A1:W53")
If Zelle.Locked = False Then Zelle.ClearContents
Next Zelle
End If
End Sub

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

Betreff
Datum
Anwender
Anzeige
AW: Alle nicht gesperrten Zellen löschen: Problem
09.01.2015 09:43:00
Arthur
Hallo Bernhard.
Für die verbundenen Zellen gibt es folgende Lösung:
For Each Zelle In Worksheets("Tabelle1").Range("A1:E14")
If Zelle.Locked = False Then
If Zelle.MergeCells Then
If Zelle.Address = Zelle.MergeArea(1).Address Then
Zelle.MergeArea.ClearContents
End If
Else
Zelle.ClearContents
End If
End If
Next Zelle
Gruß, Arthur

AW: Alle nicht gesperrten Zellen löschen: Problem
09.01.2015 16:41:52
Bernhard
Ich hab es gerade ausprobiert. Es funktioniert. Super !
Vielen Dank Arthur.
LG Bernhard
Anzeige

304 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige