Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1524to1528
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

Blattschutz für definierten Bereich

Blattschutz für definierten Bereich
25.11.2016 08:51:03
Al
Guten Morgen Herrschaften,
ich würde gerne in einem Blatt eine Grafik einfügen und habe hierfür auch schon in unserem Forum das entsprechende Makro gefunden. Ich würde die Codezeilen dahingehend modifizieren wollen, dass nach dem Einfügen einer Grafik der Bereich A6:H63 weiterhin nicht gesperrt bleibt. Anbei der Code:
Sub Bild_einfügen()
Dim Zelle As Range
Dim ScaleA As Double
Set Zelle = Range("A8:H63") 'hier wird das bild eingefügt
If Application.Dialogs(xlDialogInsertPicture).Show Then
'ActiveSheet.Unprotect Password:="test"
With Selection.ShapeRange
.Top = Zelle.Top
.Left = Zelle.Left
ScaleA = WorksheetFunction.Min(Zelle.Width / .Width, Zelle.Height / .Height)
.Height = .Height * ScaleA
End With
Selection.Placement = xlMoveAndSize
Selection.PrintObject = True
'ActiveSheet.Protect Password:="test"
End If
End Sub
Danke schon mal.
Gruß

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Zelle.Locked = False
25.11.2016 09:08:24
UweD
müsste schon reichen
AW: Zelle.Locked = False
25.11.2016 09:20:02
Al
Da ich noch ein VBA-Neuling bin, muss ich nochmal nachfragen wo genau ich das einzusetzen hätte!?
Ferner ist die Range("A8:H63") nicht gleich meinem nicht zu schützenden Bereich von A6:H63.
AW: Zelle.Locked = False
25.11.2016 09:33:13
UweD
Dann so z.B.
Sub Bild_einfügen()
    Dim Zelle As Range
    Dim ScaleA As Double

    Set Zelle = Range("A8:H63") 'hier wird das bild eingefügt 
    If Application.Dialogs(xlDialogInsertPicture).Show Then
        'ActiveSheet.Unprotect Password:="test" 
        With Selection.ShapeRange
            .Top = Zelle.Top
            .Left = Zelle.Left
            ScaleA = WorksheetFunction.Min(Zelle.Width / .Width, Zelle.Height / .Height)
            .Height = .Height * ScaleA
        End With
        Selection.Placement = xlMoveAndSize
        Selection.PrintObject = True
        Range("A6:H63").Locked = False
    'ActiveSheet.Protect Password:="test" 
    End If

End Sub
LG UweD
Anzeige
AW: Zelle.Locked = False
25.11.2016 09:35:51
Al
Fantastisch! Danke dir Uwe und noch ein schönes Wochenende!
AW: Zelle.Locked = False
25.11.2016 09:45:23
Al
Vielleicht noch eine Frage:
Wenn das Blatt geschützt wird, ist es leider nicht mehr möglich den Einfüge-Button erneut zu drücken ohne einen Fehler zu erzeugen. Hättest du dafür auch eine Idee?
AW: Zelle.Locked = False
25.11.2016 09:45:53
Al
Vielleicht noch eine Frage:
Wenn das Blatt geschützt wird, ist es leider nicht mehr möglich den Einfüge-Button erneut zu drücken ohne einen Fehler zu erzeugen. Hättest du dafür auch eine Idee?
AW: Zelle.Locked = False
25.11.2016 10:14:54
UweD
Hallo
setze das unprotect eine Zeile höher
LG UweD
AW: Zelle.Locked = False
25.11.2016 10:35:41
Al
Jupp klappt schon mal sehr gut.
Weißt du oder jemand anderes mit welchem Befehl ich das Bild ungeschützt einfügen kann? Momentan wird das Bild eingefügt und kann nicht mehr manipuliert werden.
Anzeige
AW: Zelle.Locked = False
25.11.2016 10:58:00
UweD
Dann musst du beim schützen das bearbeiten zulassen.
ActiveSheet.Protect Password:="test", DrawingObjects:=False
LG UweD
AW: Zelle.Locked = False
25.11.2016 11:43:38
Al
Passt! Vielen Dank ;)
AW: Prima! owT
25.11.2016 11:52:36
UweD

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige