Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1840to1844
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

UnMerge verhindern

UnMerge verhindern
27.07.2021 01:21:00
Nubi
Hallo Excelfreunde!
Ich habe ein Formular, das etliche KollegInnen benutzen werden und in dem mitunter Inhalte von einem Bereich in einen anderen kopiert werden (müssen).
Bei diesen Bereichen handelt es sich um verbundene Zellen.
Nun kam es vor, dass jemand bei der Benutzung von strg+c / strg+v die Steuerungstaste dabei nicht loslässt. Sobald dann zum Einfügen das "v"
gedrückt wird, wird die Verbindung der Zellen im markierten Bereich aufgehoben - obwohl das Blatt wie folgt geschützt ist:

Private Sub Schutz ()
Sheets("Protokoll").Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End Sub
Ist wohl ein Bug?
Nun dachte ich mir dann verbinde ich die Zellen halt wieder automatisch mit folgendem Code:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim KeyCells As Range
Set KeyCells = Range("EL32:EL44")
If Not Application.Intersect(KeyCells, Range(Target.Address)) Is Nothing Then
Selection.Merge
End If
End Sub
Funktioniert auch. Aber nur solange der Blattschutz nicht aktiviert ist :(
Kann mir jemand sagen, wie ich das Aufheben der Verbindung wirksam unterbinden oder auch bei geschütztem Blatt die Verbindung wieder herstellen kann?
Besten Dank!

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
UnMerge verhindern
27.07.2021 01:28:14
Nubi
Zur Ergänzung:
Bei dem Code "Sub Schutz" im obigen Beitrag handelt es sich nur um einen Ausschnitt aus dem Makro, um den Schutzstatus zu verdeutlichen.
AW: UnMerge verhindern
27.07.2021 02:24:12
Nubi
Habe das ganze nun so Gelöst:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim KeyCells As Range
Set KeyCells = Range("EL32:EL44")
If Not Application.Intersect(KeyCells, Range(Target.Address)) Is Nothing Then
Sheets("Protokoll").Protect DrawingObjects:=False, Contents:=False, Scenarios:=False
Selection.Merge
Sheets("Protokoll").Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End If
End Sub
Fänd's trotzdem spannend, wenn jemand eine elegantere Lösung weiß, z.B. eine Änderung bei den Blattschutzeinstellungen.
Danke
Anzeige
Bitte sehr: UserInterfaceOnly:=True -owT
28.07.2021 02:42:28
Luc:-?
:-?

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige