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

Blatt schutz

Blatt schutz
12.10.2021 09:24:27
Dieter
Guten morgen,
mal wieder brauche ich eure Hilfe.
In TB Sortierung Abteilung haben wir eine Tabelle A bis i auch hier geben wir Daten ein. Diese sind über Filter sortiert nach Abteilung.
Jetzt wollte ich per Makro aufzeichnen diese Kopieren und in Tabellenblatt nach Namen sortiert. haben.
Ich habe auch einen Blattschutz hinterlegt. leider frägt Excel mich immer ab. das möchte ich aber nicht. es sollte automatisch gehen, da alle MA zugriff haben.
Das zweite Problem liegt am Kopieren da macht Excel einen Fehler bei
ActiveWorkbook.Worksheets("Sortierung nach Namen").ListObjects("Tabelle14"). _
Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Sortierung nach Namen").ListObjects("Tabelle14"). _
Sort.SortFields.Add Key:=Range("Tabelle14[[#All],[Name]]"), SortOn:= _
xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Sortierung nach Namen").ListObjects("Tabelle14"
( jedesmal beim Tabellenblatt wechseln wird Tabelle 14 dann 15 , 16 usw...
Hier der Code:

Private Sub Worksheet_Activate()
' Makro2 Makro
Sheets("Sortierung nach Namen").Select
ActiveSheet.Unprotect
Sheets("Sortierung Abteilung").Select
Columns("A:I").Select
Selection.Copy
Sheets("Sortierung nach Namen").Select
Columns("A:A").Select
ActiveSheet.Paste
Range("D6").Select
Application.CutCopyMode = False
ActiveWorkbook.Worksheets("Sortierung nach Namen").ListObjects("Tabelle14"). _
Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Sortierung nach Namen").ListObjects("Tabelle14"). _
Sort.SortFields.Add Key:=Range("Tabelle14[[#All],[Name]]"), SortOn:= _
xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Sortierung nach Namen").ListObjects("Tabelle14" _
).Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Range("J5").Select
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
Sheets("Sortierung Abteilung").Select
Range("Tabelle1[[#Headers],[Abteilung]]").Select
End Sub
Kann mir jemand helfen.
Danke
Dieter

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

Betreff
Datum
Anwender
Anzeige
AW: Blatt schutz
12.10.2021 19:22:56
AlterDresdner
Hallo Dieter,
unten der ungetestete korrigierte Code, das Passwortproblem sollte damit weg sein.
Den Fehler beim Kopieren kann ich nicht sehen, müsstest Du genauer schreiben oder die Datei posten.
Grundsätzlich: Bist Du sicher, dass das bei jedem Activate des Blattes passieren soll?
Und ohne Select (ausser mal am Ende) kommt man (fast) immer aus...

Private Sub Worksheet_Activate()
' Makro2 Makro
Const Mypwd = "kkkk" 'hier richtiges Passwort einsetzen
Sheets("Sortierung nach Namen").Unprotect Password:=Mypwd
Sheets("Sortierung Abteilung").Columns("A:I").Copy Destination:=Sheets("Sortierung nach Namen").Range("A1")
Application.CutCopyMode = False
With ActiveWorkbook.Worksheets("Sortierung nach Namen").ListObjects("Tabelle14").Sort
.SortFields.Clear
.SortFields.Add Key:=Range("Tabelle14[[#All],[Name]]"), SortOn:= _
xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, Password:=Mypwd
Sheets("Sortierung Abteilung").Activate
Range("Tabelle1[[#Headers],[Abteilung]]").Select
End Sub
Gruss der AlteDresdner
Anzeige
AW: Blatt schutz
13.10.2021 09:05:14
Dieter
Hallo Alter Dresdner,
ich möchte das im Tabellenblatt "Sortierung nach Abteilung" alles eingegeben wird. Zeile 1 ist die Überschrift FIRMA
Zeile 2 ist Beschriftung inkl. Filter.
Jetzt wird ein Mitarbeiter hinzugefügt, ( letzte Zeile ) und sortiert nach Abteilung Spalte B . gesamter Bereich A:H
Wenn ich jetzt im Tabellenblatt "Sortierung nach Namen" gehe soll Excel alles vom Tabellenblatt A:H kopieren und einfügen sortiert nach Namen Spalte D.
Mal ein Test ohne Blattschutz :

Sub Makro3()
' Makro3 Makro
Columns("A:H").Select
Range("A2").Activate
Selection.Copy
Sheets("Sortierung nach Namen").Select
Columns("A:A").Select
ActiveSheet.Paste
Range("A2:H2").Select
Application.CutCopyMode = False
Selection.AutoFilter
ActiveWorkbook.Worksheets("Sortierung nach Namen").AutoFilter.Sort.SortFields. _
Clear
ActiveWorkbook.Worksheets("Sortierung nach Namen").AutoFilter.Sort.SortFields. _
Add Key:=Range("D2"), SortOn:=xlSortOnValues, Order:=xlAscending, _
DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Sortierung nach Namen").AutoFilter.Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Range("I4").Select
End Sub
wird dann Gelb bei:
ActiveWorkbook.Worksheets("Sortierung nach Namen").AutoFilter.Sort.SortFields. _
Clear
Hoffe du kannst mir helfen.
Besten Dank
Anzeige
AW: Blatt schutz
13.10.2021 18:23:01
AlterDresdner
Hallo Dieter,
ist das jetzt was Neues oder das Alte in anderer Form?
Post mal eine Testdatei und schreibe Deine Wünsche auf.
Hast Du mein gepostetes Makro getestet? Und?
Gruss der AlteDresdner

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige