Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
844to848
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
844to848
844to848
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Blattschutz weg - Formeln in Werte umwandeln

Blattschutz weg - Formeln in Werte umwandeln
19.02.2007 16:16:00
Fritz_W
Hallo VBA-Spezialisten,
wie kann ich erreichen, dass beim Entfernen des Blattschutzes einer Tabelle, die in dieser Tabelle enthaltenen Formeln in ihre Werte "umgewandelt" werden.
Für eure Hilfe besten Dank im Voraus
Mfg
Fritz

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Blattschutz weg - Formeln in Werte umwandeln
19.02.2007 18:30:00
P@ulchen
Hallo Fritz,
das Entfernen des Blattschutzes selbst kannst Du m.E. nicht abfragen, wohl aber, ob bei Zellaktivierung das aktive Blatt einen Schutz hat. Bin mir nicht sicher, ob das die eleganteste Lösung ist, sie funktioniert aber...
Füge den folgenden Code in das Modul DieseArbeitsmappe ein:
Private Sub Workbook_SheetSelectionChange(ByVal Sh As ObjectByVal Target As Range)
If ActiveSheet.ProtectContents = False Then
    Application.ScreenUpdating = False
    Application.EnableEvents = False
    Cells.Copy
    Cells.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Application.CutCopyMode = False
    Target.Select
    Application.EnableEvents = True
    Application.ScreenUpdating = True
End If
End Sub
Gruß aus Leipzig
P@ulchen
www.excel-werkstatt.de

Anzeige
AW: Blattschutz weg - Formeln in Werte umwandeln
19.02.2007 18:42:47
Fritz_W
Hallo P@ulchen,
für meinen aktuellen Bedarf ist das Makro genau richtig. Vielen Dank!!!
Allerdings hab ich festgestellt, dass die Umwandlung der Formeln in allen Tabellen erfolgt, nicht nur in der Tabelle, deren Blattschutz entfernt wurde.
Kennst Du für eine Lösung, bei der sich die Umwandlung ausschließlich auf die betreffende Tabelle, bei der der Blattschutz aufgehoben wird, beschränkt?
Schönen Gruß
Fritz
AW: Blattschutz weg - Formeln in Werte umwandeln
19.02.2007 18:53:00
P@ulchen
Hallo Fritz,
dann so:
Private Sub Workbook_SheetSelectionChange(ByVal Sh As ObjectByVal Target As Range)
If ActiveSheet.ProtectContents = False Then
    Application.ScreenUpdating = False
    Application.EnableEvents = False
    ActiveSheet.Cells.Copy
    ActiveSheet.Cells.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Application.CutCopyMode = False
    Target.Select
    Application.EnableEvents = True
    Application.ScreenUpdating = True
End If
End Sub
Gruß aus Leipzig
P@ulchen
www.excel-werkstatt.de

Anzeige
AW: Blattschutz weg - Formeln in Werte umwandeln
19.02.2007 19:30:21
Horst
Hi,
getestet?
mfg Horst
AW: Blattschutz weg - Formeln in Werte umwandeln
19.02.2007 19:40:00
P@ulchen
Hi,
ja.
mfg Paulchen
AW: Blattschutz weg - Formeln in Werte umwandeln
19.02.2007 20:02:21
Fritz_W
Hallo Paulchen,
habe getestet. Jetzt bleiben die Formeln in allen Tabellen erhalten, die geschützt sind. Allerdings werden auch die Formeln in den Tabellen in Werte verwandelt, die nicht geschützt waren.
Es wäre natürlich super, wenn es möglich wäre, dass Umwandlung jeweils nur in der Tabelle vorgenommen wird, die geschützt war und deren Schutz aufgehoben wurde. Aber das scheint wohl sehr problematisch zu sein, oder?
Die zweite Lösung erlaubt mir jedoch auch schon zusätzliche Möglichkeiten!
Vielen Dank!
Gruß
Fritz
Anzeige
AW: Blattschutz weg - Formeln in Werte umwandeln
19.02.2007 20:14:57
P@ulchen
Hallo Fritz,
ok, hatte ich nicht bedacht...
Folgende Codes in DieseArbeitsmappe:
Option Explicit
Dim xVar As Boolean
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
If ActiveSheet.ProtectContents = True Then
    xVar = True
Else
    xVar = False
End If
End Sub
Private Sub Workbook_SheetSelectionChange(ByVal Sh As ObjectByVal Target As Range)
If xVar = False Then Exit Sub
If ActiveSheet.ProtectContents = False Then
    Application.ScreenUpdating = False
    Application.EnableEvents = False
    ActiveSheet.Cells.Copy
    ActiveSheet.Cells.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Application.CutCopyMode = False
    Target.Select
    xVar = False
    Application.EnableEvents = True
    Application.ScreenUpdating = True
End If
End Sub
Gruß aus Leipzig
P@ulchen
www.excel-werkstatt.de

Anzeige
Ja!!! - Das war`s
19.02.2007 20:23:00
Fritz_W
Hallo Paulchen,
so wollt ichs eigentlich haben! Großes Kompliment und vielen Dank!
Gruß
Fritz

304 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige