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

Benutzerrechte nach Kopiervorgang entfernen

Benutzerrechte nach Kopiervorgang entfernen
14.04.2016 08:02:27
NLS

Guten Morgen zusammen,
kann mir bitte jemand eine Lösung liefern..?
in meinem Tabellenblatt1 wird sobald bei Status 100% eingetragen wird die Zeile Kopiert und in Tabellenblatt2 eingefügt und anschließend in Tabellenblatt1 die Zeile gelöscht.
Das Problem ist nur, dass die Benutzerrechte mit in das Tabellenblatt2 kopiert werden. Wie kann ich dafür sorgen, dass dies nicht passiert bzw. was kann man machen um dennoch eine Änderung durch die Benutzer zu verhindern?
Danke

24
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Nachfrage..
14.04.2016 09:46:06
UweD
Zeig doch mal den Code, mit dem du das machst

AW: Nachfrage..
14.04.2016 10:13:26
NLS

Dim Zeile As Long
Set Target = Intersect(Target, Range("F9:F6000"))
If Target Is Nothing Then Exit Sub
If Target = "1" Then
Zeile = Target.Row
Worksheets("INLINER (2)").Unprotect Password:="ISK100"
Worksheets("INLINER").Unprotect Password:="ISK"
Range(Cells(Zeile, 1), Cells(Zeile, 11)).Copy _
Destination:=Sheets("INLINER (2)").Cells(Rows.Count, 12).End(xlUp).Offset(1, 0)
Target.EntireRow.Delete
Worksheets("INLINER (2)").Protect Password:="ISK100"
Worksheets("INLINER").Protect Password:="ISK"
End If

Anzeige
AW: Benutzerrechte nach Kopiervorgang entfernen
14.04.2016 10:29:35
NLS
es würde eigentlich reichen wenn die Inhalte der Zellen nur in die andere Tabelle eingefügt werden und nicht alle Eigenschaften mit kopiert werden würde...

Ungetestet
14.04.2016 10:33:58
RPP63
Hi!
Reicht es nicht, nur die Werte zu kopieren?
Range(Cells(Zeile, 1), Cells(Zeile, 11)).Copy
Sheets("INLINER (2)").Cells(Rows.Count, 12).End(xlUp).Offset(1, 0).PasteSpecial xlPasteValues
Gruß Ralf

AW: Ungetestet
14.04.2016 11:36:27
NLS
hm... geht aber ich würde es gern so haben wie oben geschrieben, nur das keiner mehr drin "rumschreiben" kann der vorher Benutzerrechte in Tabelle1 für die Zellen hatte. also nur noch lesen des Tabellenblatt2 möglich.

Anzeige
AW: Ungetestet
14.04.2016 13:07:01
UweD
Hallo
-Das Entsperren der Blätter kannst du weglassen, wenn du beim Sperren den Parameter UserInterfaceOnly:=True mit angibst.
Dann können Handeingaben nur in den Freigegebenen Zellen vorgenommen werden, aber bei Makro geht alles
- Mir einer Zellzuweisung werden nur die Werte übertragen

Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo Fehler
Dim Zeile As Long
Dim LR As Long, TB2
If Not Intersect(Target, Range("F9:F6000")) Is Nothing Then Exit Sub
If Target = "1" Then
Zeile = Target.Row
Set TB2 = Worksheets("INLINER (2)")
LR = TB2.Cells(Rows.Count, 12).End(xlUp).Row + 1
TB2.Range(TB2.Cells(LR, 12), TB2.Cells(LR, 22)).Value = Range(Cells(Zeile, 1), Cells( _
Zeile, 11)).Value
Application.EnableEvents = False
Target.EntireRow.Delete
End If
Fehler:
Application.EnableEvents = True
If Err.Number <> 0 Then MsgBox "Fehler: " & _
Err.Number & vbLf & Err.Description: Err.Clear
End Sub
Sub Blatt_Schutz() ' erste mal
Worksheets("INLINER (2)").Protect Password:="ISK100", UserInterfaceOnly:=True
Worksheets("INLINER").Protect Password:="ISK", UserInterfaceOnly:=True
End Sub
Gruß UweD

Anzeige
AW: Ungetestet
14.04.2016 14:25:51
UweD
Hab genau den Auslösebereich für das Makro verdreht.
Muss so gehen

Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo Fehler
Dim Zeile As Long
Dim LR As Long, TB2
If Not Intersect(Target, Range("F9:F6000")) Is Nothing Then
If Target = "1" Then
Zeile = Target.Row
Set TB2 = Worksheets("INLINER (2)")
LR = TB2.Cells(Rows.Count, 12).End(xlUp).Row + 1
TB2.Range(TB2.Cells(LR, 12), TB2.Cells(LR, 22)).Value = _
Range(Cells(Zeile, 1), Cells(Zeile, 11)).Value
Application.EnableEvents = False
Target.EntireRow.Delete
End If
End If
Fehler:
Application.EnableEvents = True
If Err.Number <> 0 Then MsgBox "Fehler: " & _
Err.Number & vbLf & Err.Description: Err.Clear
End Sub
Gruß UweD

Anzeige
AW: Ungetestet
15.04.2016 07:42:08
NLS
jetzt kommt Fehler: 1004
Anwendungs- oder objektdefinierter Fehler

AW: Ungetestet
15.04.2016 08:48:28
UweD
bei mit klappt es problemlos
habe mal eine kurze Beispielmappe erstellt.
https://www.herber.de/bbs/user/104980.xlsm
Vergleich mal, oder lade du eine Mappe hoch
Gruß UweD

AW: Ungetestet
15.04.2016 09:03:32
NLS
Wenn ich in Tabelle 1 Spalte F eine 1 eintrage kommt :
Fehler 1004
Die Zelle ode das Diagramm befindet sich auf einem schreibgeschützten Blatt.
Wenn Sie Änderungen vornehmen möchten, klicken Sie auf der registerkarte "Überprüfen" auf "Blattschutz aufheben"...

Anzeige
AW: Ungetestet
15.04.2016 09:32:39
UweD
Hi
- du hast das Blatt "Inliner" doch geschützt (mit UserInterfaceOnly=True)
- und du überwachst im Blatt die Eingaben in F9 bis F6000
- d.h. du möchtest doch Eingaben in dem Bereich F9 bis F6000 vornehmen.
Dann musst du natürlich bei ausgeschaltetem Blattschutz den Schutz aus den Zellen F9 bis F6000 rausnehmen und dann das Blatt erst schützen.
Jetzt kannst du Änderungen ab Zeile 9 bis 6000 vornehmen aber nur in Spalte F (oder wenn du sonstige Zellen freigegeben hast, natürlich auch dort)
Aber Achtung!
- da du ja bei Eingabe einer 1 diese Zeile löschst, wird der Bereich auf Dauer immer kürzer.
- Überwacht wird zwar jedesmal bis F6000, aber die Zellfreigabe in den neuen Zeilen unten wird nicht erweitert.
Gruß UweD

Anzeige
AW: Ungetestet
15.04.2016 09:46:38
NLS
also ich habe jetzt den Blattschutz deaktiviert, dann Nutzer angelegt und im ermöglicht den Bereich f9:f6000 ohne Kennwort zu bearbeiten. anschließend für die Tabelle wieder den blattschutz aktiviert...
der gleiche fehler wie vorhin kommt wieder! :-(

AW: Ungetestet
15.04.2016 09:49:13
UweD
Um das Kürzer werden zu verhindeern, kannst du das noch ergänzen.
unter Target.EntireRow.Delete

Target.EntireRow.Delete
Range("F6000").Locked = False ' gibt die Letzte Zelle wieder zur Bearbeitung frei

Gruß UweD

AW: Ungetestet
15.04.2016 09:57:17
NLS
hab ich das soweit richtig gemacht? warum funktioniert es denn nicht?

Anzeige
AW: Ungetestet
15.04.2016 09:59:52
UweD
dann lad mal eine Datei hoch..
da wird was andres sein

AW: Ungetestet
15.04.2016 10:20:36
UweD
Das ist doch meine Datei. Diese funktioniert perfekt.
Du solltest mal eine mit Echter Dateistruktur hochladen.
Was evtl. noch sein kann, dass die Events durch einen Fehler ausgeschaltet wurden.
lass das hier einmal durchlaufen.

Sub onon()
Application.EnableEvents = True
End Sub

AW: Ungetestet
15.04.2016 10:29:53
NLS
die originale Datei kann ich nicht hochladen,... darin sind zu viele Daten des Unternehmens...
ich verstehe nur nicht was ich falsch mache, dass bei dir deine Datei funktioniert und bei mir nicht?
habe ich irgendwas falsch verstanden?

Anzeige
AW: hat sonst noch Jemand eine Idee?
15.04.2016 10:47:31
UweD

AW: hat sonst noch Jemand eine Idee?
15.04.2016 11:23:28
NLS
ich weiß woran es liegt,...
ich muss das unprotect makro von Hand starten.
dachte es läuft automtatisch

AW: hat sonst noch Jemand eine Idee?
15.04.2016 11:38:45
UweD
Nein... genau anders herum
das Protect makro 1x ausführen; durch den Zusatzparameter "UserInterfaceOnly:=True"
muss das Blatt NICHT entsperrt werden, wenn du was per MAKRO ändern möchtest.
Wenn du das Blatt normal sperrst, dann kommt es bei den Änderungen durch das Makro zur Fehlermeldung.

AW: hat sonst noch Jemand eine Idee?
15.04.2016 11:42:19
NLS
sorry meinte ich doch

AW: hat sonst noch Jemand eine Idee?
15.04.2016 12:37:39
NLS
aber wozu brauche ich dann
Sub Blatt_Schutz_raus() ' erste mal
Worksheets("INLINER STATUS 100%").Unprotect Password:="ISK100"
Worksheets("INLINER").Unprotect Password:="ISK"

Anzeige
AW: hat sonst noch Jemand eine Idee?
15.04.2016 13:56:08
UweD
Das brauchst du nicht.
Das hatte ich in der Testphase benutzt, weil ich die Passwörter nicht immer von Hand eingeben wollte.
Kannst du löschen.
Schönes WE UweD

308 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige