Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
944to948
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
944to948
944to948
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Zellschutz

Zellschutz
31.01.2008 15:03:02
Torsten
Hallo beisammen,
ich habe für unseren Werbemittelshop eine Datei erstellt, in welcher der User über die Eingabe einer Bestell-Nr. die von ihm gewünschte Ware bestellen kann. Das Blatt selbst ist bis auf die Zelle für die Eingabe der Bestell-Nr. mit einem Password geschützt. Nun kommt es vor, daß ein User die Bestell-Nr. aus einer anderen Datei kopiert und mit >Enter Vielen Dank für Eure Tipps im voraus.
Gruß
Torsten

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zellschutz
31.01.2008 15:30:00
Matthias
Hallo Torsten,
ins Codemodul des Arbeitsblattes:

Private Sub Worksheet_Change(ByVal Target As Range)
' folgende Werte anpassen:
Const EditZelle = "C6" ' die ungeschützte Zelle
Const VorlageZelle = "C5" ' eine Zelle mit dem passenden Format
If Not Intersect(Target, Range(EditZelle)) Is Nothing Then
Application.EnableEvents = False
Range(VorlageZelle).Copy
Range(EditZelle).PasteSpecial Paste:=xlPasteFormats
Application.EnableEvents = True
Application.CutCopyMode = False
End If
End Sub


Gruß Matthias

AW: Zellschutz
01.02.2008 09:26:24
Torsten
Hallo Matthias,
vielen Dank für Deine Rückmeldung.
Ich habe Deinen Code eingesetzt - funktionierte aber nicht. Dann habe ich die Daten für WS und Range ergänzt:

Private Sub Worksheet_Change(ByVal Target As Range)
'von Mathhias G.
Const EditZelle = Sheets("FORM").Range("A29")     ' die ungeschützte Zelle"
Const VorlageZelle = Sheets("FORM").Range("A60")  ' eine Zelle mit dem passenden Format
If Not Intersect(Target, Range(EditZelle)) Is Nothing Then
Application.EnableEvents = False
Range(VorlageZelle).Copy
Range(EditZelle).PasteSpecial Paste:=xlPasteFormats
Application.EnableEvents = True
Application.CutCopyMode = False
End If
End Sub


Funktioniert dennoch nicht. Hast Du eine Idee, woran das liegen könnte?
Gruß
Torsten

Anzeige
AW: Zellschutz
01.02.2008 09:32:00
Matthias
Hallo Torsten,
bei mir hat schon meine erste Lösung funktioniert, probier mal diese:

Private Sub Worksheet_Change(ByVal Target As Range)
'von Mathhias G.
Const EditZelle = "A29"     ' die ungeschützte Zelle"
Const VorlageZelle = "A60"  ' eine Zelle mit dem passenden Format
If Not Intersect(Target, Me.Range(EditZelle)) Is Nothing Then
Application.EnableEvents = False
Me.Range(VorlageZelle).Copy
Me.Range(EditZelle).PasteSpecial Paste:=xlPasteFormats
Application.EnableEvents = True
Application.CutCopyMode = False
End If
End Sub


Wenn's nicht klappt, beschreibe mal, was nicht funktioniert. Oder lade eine Beispielmappe hoch.
Gruß Matthias

Anzeige
erledigt - mT
01.02.2008 09:33:11
Torsten
Hallo Matthias,
sorry, vergiß meine Nachricht von vorhin.
Ich hatte Deinen Code in "DieseArbeitsmappe" gesteckt, anstatt in das entsprechende Tabellenblatt.
Läuft jetzt. Nochmals vielen Dank und
Gruß
Torsten

AW: Zellschutz
01.02.2008 09:43:00
Torsten
Hallo Matthias,
doch noch eine Frage:
...
Const EditZelle = "A29"
Const VorlageZelle = "A60"
...
Ich habe eigentlich nicht nur die Zelle A29 so abzuprüfen, sondern die Zellen A29 bis A38.
Ich kann den Code natürlich für jede einzelne Zelle komplett so eingeben. Gibt es denn eine elegantere Möglichkeit, diesen Range abzuprüfen - (wobei die Vorlagenzelle konstant bleiben kann)?
Gruß
Torsten

Anzeige
AW: Zellschutz
01.02.2008 09:53:00
Matthias
Hallo Torsten,
so:

Private Sub Worksheet_Change(ByVal Target As Range)
' folgende Werte anpassen:
Const EditZelle = "A29:A60" ' die ungeschützten Zellen
Const VorlageZelle = "A61" ' eine (geschützte) Zelle mit dem passenden Format
Dim rng As Range, z As Range
Set rng = Intersect(Target, Range(EditZelle))
If Not rng Is Nothing Then
Application.EnableEvents = False
For Each z In rng
Me.Range(VorlageZelle).Copy
z.PasteSpecial Paste:=xlPasteFormats
Next
Application.EnableEvents = True
Application.CutCopyMode = False
End If
End Sub


Die Zelle "VorlageZelle" darf aber nicht aus dem Bereich "EditZelle" sein.
Gruß Matthias

Anzeige
jetzt definitiv erledigt! - mT
01.02.2008 10:29:42
Torsten
Hallo Mathhias,
super - nochmals besten Dank.
Gruß und schönes Wochenende
Torsten

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige