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

Wertkopie trotz Blattschutz

Wertkopie trotz Blattschutz
Sören
N'Abend.
Ich habe eine riesige Arbeitsmappe mit verschiedenen Arbeitsblättern. Diese enthalten Text, Zahlen und Diagramme und Formeln und alle Blätter haben einen Blattschutz.
Ich bin auf der Suche nach einer Alternative (die Mappe wird vorher neu abgespeichert) um eine Wertkopie der Blätter zu erstellen. Dabei soll kein Blattschutz mehr bestehen. Mein bisher genutztes Makro verursacht (in anderen Dateien geht es) immer Fehler.
Sub Wertkopie()
Dim I As Integer
For I = 1 To Worksheets.Count
If Worksheets(I).Visible = True Then
With Worksheets(I)
.Activate
.Unprotect ("PW")
.Cells.Copy
.Cells.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
'.Protect ("PW")in Kopie kein Passwortschutz
End With
End If
Next I
End Sub
Der erzeugte Fehler ist ein Laufzeitfehler (1004) - die PasteSpecial Methode des Range-Objektes konnte nicht ausgeführt werden.
Da zu diesem Fehler noch keine weiterführenden Hilfen gefunden werden konnten der Versuch ein alternatives Makro zu bauen, das die gleichen Bedingungen erfüllt. Vielen Dank für eure Hilfe.
Sören
AW: Wertkopie trotz Blattschutz
20.10.2009 18:01:38
Josef
Hallo Sören,
Sub Wertkopie()
  Dim objSh As Worksheet
  Dim rng As Range
  
  For Each objSh In ThisWorkbook.Worksheets
    With objSh
      If .Visible Then
        .Unprotect "PW"
        On Error Resume Next
        Set rng = .UsedRange.SpecialCells(xlCellTypeFormulas)
        On Error GoTo 0
        If Not rng Is Nothing Then rng = rng.Value
      End If
    End With
  Next
  
  Set rng = Nothing
End Sub

ansonsten Tip ich mal auf verbundene Zellen.
Gruß Sepp

Anzeige
Nur halbwegs
20.10.2009 20:40:00
Sören
Hallo Sepp.
Danke erst einmal. Leider geht es nur im ersten Tab.-Blatt. In den Blättern danach zerstört er das ganze Layout.
Verbundene Zellen gibt es; aber diese gibt es auch in den Dateien bei denen es fehlerlos läuft.
naja, würde mich interessieren wie...
20.10.2009 20:53:44
Josef
Hallo nochmal,
... dieser Code das Layout zerstören kann?
Gruß Sepp

AW: naja, würde mich interessieren wie...
20.10.2009 21:13:33
Sören
wie gesagt, im ersten Tab.-Blatt alles perfekt und in den folgenden Blättern sind identische Zahlen überallhin kopiert worden und Texte auch falsch plaziert. Erstaunlich ist, dass der andere Code (ist ja kaum anders) geht. Kann man das "Aufflackern) der Blättern eigentlich auch unterdrücken wenn das Makro durchläuft?
Anzeige
Application.ScreenUpdating = False
21.10.2009 02:55:17
NoNet
Hallo Sören,
mit Application.ScreenUpdating = False deaktiviert man die Bildschirmaktualisierung und verhindert damit das"Flackern". Ganz am Codeende sollte diese wieder aktiviert werden : Application.ScreenUpdating = True
Gruß, NoNet
AW: Application.ScreenUpdating = False
21.10.2009 09:03:20
Sören
Was heißt für dich jetzt Anfang und Ende genau? An welchen Stellen muss das genau rein? Danke.
AW: Application.ScreenUpdating = False
21.10.2009 09:22:44
hary
Hi Sören
NoNet schlaeft vieleicht noch. geht so.

Sub Wert_Zuweisung()
Dim I As Integer
Application.ScreenUpdating = False
dein code
Next I
Application.ScreenUpdating = True
End Sub

Gruss hary
Anzeige
AW: Application.ScreenUpdating = False
21.10.2009 10:34:02
Sören
dANKE
Info-Box einbauen
21.10.2009 10:43:15
Sören
Kann ich da noch eine Infobox einbauen, dass ein Pop-Up erscheint, wenn die Wertkopie erstellt wurde?
AW: Info-Box einbauen
21.10.2009 10:48:40
hary
Hi Sören
MsgBox "Wertekopie wurde erstellt"
gruss hary
AW: Info-Box einbauen
21.10.2009 10:53:20
Sören
das ja simpel. merci
AW: Wertkopie trotz Blattschutz
20.10.2009 18:02:56
Original
Hi,
Sub Wert_Zuweisung()
Dim I As Integer
For I = 1 To Worksheets.Count
If Worksheets(I).Visible = True Then
With Worksheets(I)
.Unprotect ("PW")
.UsedRange = .UsedRange.Value
End With
End If
Next I
End Sub
mfg Kurt
AW: Wertkopie trotz Blattschutz
20.10.2009 20:42:12
Sören
Hallo Kurt.
Auf der ersten Blick scheint es zu funktionieren. Muss es morgen früh mal in Ruhe und im Detail testen. Danke erst einmal.
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige