Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst Nach Copy und Paste eines Kontextmenues bleibt dies in der falschen Spalte erhalten

Mitglied: captainchaos666

captainchaos666 (Level 1) - Jetzt verbinden

28.01.2007, aktualisiert 11.02.2007, 3758 Aufrufe, 4 Kommentare

Hallo,
ich sollte mal wieder den Rat eines Excelspezialsten habe! Ich habe eine Excelliste mit VBA für Kontextmenüs


Mein programmierter Syntax:

If Not Intersect(Target, Range("A2:A10")) Is Nothing Then
With Selection.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:="Auswahl 1, Auswahl 2, Auswahl 3, Auswahl 4, Auswahl 5"
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
End With
End If

Die Auswahl findet von Zelle A2 bis A10 statt, das funktioniert auch soweit. Wenn jetzt allerdings jemand die Zelle A2 nach XY kopiert so habe ich die Auswahl dann immer in XY. Auch Excel neu starten hilft nicht!

Gibt es eine Möglichkeit dies zu unterbinden, damit bei einem ausversehentlichem Copy und Paste das Kontextmenü nicht übernommen wird?


Dank euch

Gruß Alex
Mitglied: bastla
28.01.2007 um 11:21 Uhr
Hallo captainchaos666!

Da anscheinend gerade kein Excelspezialst in der Nähe ist, versuch ich's mal ...

Programmtechnisch könntest Du den Rest des Arbeitsblattes überwachen und nach dem Einfügen die Gültigkeitsprüfung wieder entfernen, also etwa:
01.
Private Sub Worksheet_Change(ByVal Target As Range) 
02.
If Intersect(Target, Range("A2:A10")) Is Nothing Then 
03.
    Target.Validation.Delete 
04.
End If 
05.
End Sub
Inwieweit die Performance darunter leidet, müsstest Du testen.

Ansonsten wäre es vermulich aber sinnvoll, ein "ausversehentliches Copy und Paste" zu erschweren, indem Du möglichst viele Zellen des Arbeitsblattes mit dem Blattschutz vor Veränderungen schützt.
Sollte tatsächlich ein Kopiervorgang nötig sein, müsste dieser per "Inhalte einfügen... / Werte" und Esc abgeschlossen werden - besser wäre es aber vermutlich, anstatt den Inhalt zu kopieren einen Zellbezug einzusetzen (=A5).

Grüße
bastla
Bitte warten ..
Mitglied: captainchaos666
28.01.2007 um 12:51 Uhr
Hallo bastla,
Danke für dein Antwort, bei einer Auswahl funktioniert es. Ich habe allerdings mehrere Kontextmenüs welche voneinander abhängig sind. Gibt es keine Möglichkeit beim öffnen der Datei die falsch platzierten Kontextmenüs zu entfernen.

Kannst du mir noch genauer erklären was du mit deinem Syntax genau machst, ich bin wirklich kein Excelspezialist!

Danke

Alex
Bitte warten ..
Mitglied: bastla
28.01.2007 um 15:05 Uhr
Hallo captainchaos666!

Wenn Du mehrere Bereiche hast, in denen eine Gültigkeitsprüfung erlaubt sein soll, musst Du diese einzeln beim Ändern überprüfen (so kann sehr wahrscheinlich - Einschränkung siehe unten - keine unerwünschte Zelle ein "Kontextmenü" erhalten):

01.
Private Sub Worksheet_Change(ByVal Target As Range) 
02.
bDel = True 'Löschen, außer geänderte Zelle ist in den folgenden Bereichen 
03.
If Not Intersect(Target, Range("A2:A10")) Is Nothing Then bDel = False 'nicht löschen 
04.
If Not Intersect(Target, Range("B2:B5")) Is Nothing Then bDel = False 'nicht löschen 
05.
... 
06.
If bDel Then Target.Validation.Delete 'Schalter steht nocht auf "True", daher löschen 
07.
End Sub
Der Schalter "bDel" steht für "Gültigkeitskontrolle löschen" und wird zunächst auf "True" gesetzt.
Mit der "Intersect"-Funktion wird eine "Überschneidung" von Zellbereichen überprüft - im konkreten Fall der geänderten Zelle(n) ("Target") und des angegebenen Bereiches "A2:A10" etc. Liegt die geänderte Zelle nicht im überprüften Bereich, gibt die Funktion den Wert "Nothing" zurück. "Not Intersect ..." bedeutet dann also: "liegt nicht nicht im Testbereich", ist also eine Zelle des Bereiches, und daher ist ein Löschen nicht erforderlich - Schalter "bDel" auf "False" setzen.
Wenn nach Überprüfung aller von Dir festgelegten Bereiche der Schalter "bDel" immer noch auf "True" steht, liegt die geänderte Zelle also in keinem dieser Bereiche und die Gültigkeitsprüfung kann mit "Target.Validation.Delete" gelöscht werden.

Zu beachten wäre vielleicht noch, dass auch mehrere Zellen als "Target" aufscheinen können (zB eine Zelle wird kopiert und in einen vorher markierten Bereich aus mehreren Zellen eingefügt) - dann gilt: wenn auch nur eine Zelle des Zielbereiches im Testbereich liegt, wird bei keiner Zelle die Gültigkeitskontrolle entfernt (und natürlich auch dann nicht, wenn von einem Testbereich in einen anderen Testbereich kopiert wird).
Zur Ergänzung: Im zuerst geposteten Code war die Vorgangsweise umgekehrt: Wenn die veränderte Zelle nicht im Bereich "A2:A10" liegt, Gültigkeitsprüfung löschen.

Schließlich zum Ereignis "Worksheet_Change": Dieses wird ausgelöst, wenn sich der Inhalt (nicht zB das Ergebnis einer enthaltenen Formel oder die Formatierung) von Zellen ändert (auch zB gelöscht wird).
Noch zur Frage des Löschens beim Öffnen: Im Prinzip könntest Du auch einfach für alle Zellen die Gültigkeitsprüfung entfernen, da diese beim Auswählen einer Zelle ohnehin auch jetzt schon gelöscht und wieder neu zugeordnet wird - allerdings hättest Du damit noch nicht die (relative) Sicherheit für den "laufenden Betrieb".

Grüße
bastla
Bitte warten ..
Mitglied: captainchaos666
11.02.2007 um 14:34 Uhr
Hallo bastla,
Danke noch für deine Antwort, er funktioniert. Konnte leider den Thread bisher nicht als glöst markieren, da ich normal nur am WE Internetfähig bin!

Gruß Alex
Bitte warten ..
Ähnliche Inhalte
Windows Server
Copy and Paste in eine RDP Anmeldung
Frage von KLeinstein.tmWindows Server6 Kommentare

Hallo alle zusammen, Ich habe hier momentan das Problem, dass ich bei keiner meiner RDP Anmeldungen mehr das Passwort ...

Xenserver

XenApp mit iPad - Fehlermeldungen bei Copy und Paste

Frage von gmossinXenserver1 Kommentar

Hallo Zusammen Unsere Benutzer verbinden sich mit Ihren iPAD auf unsere Citrix Desktop Umgebung ( XenApp 6.5) . Wenn ...

Windows Server

Server 2012 R2 - RDP Kein Copy und Paste möglich

Frage von Thecrow1304Windows Server7 Kommentare

Hi, ich habe mehrere Server 2012 R2 aufgesetzt, und bin erstaunt, dass ich via RDP von meiner Win7 Enterprise ...

Windows Update

Package Publisher - Copy has failed falscher Parameter

Frage von BellociWindows Update

Hallo zusammen, seit wenigen Tagen ist es mir nicht mehr möglich, Updates über WPP und dem integrierten "Remote MSI ...

Neue Wissensbeiträge
Windows 10

Neue Sicherheitslücke in Windows 10 (Version 1709) durch Google öffentlich geworden

Information von kgborn vor 6 StundenWindows 10

Vor ein paar Tagen haben Googles Sicherheitsforscher vom Projekt Zero eine Sicherheitslücke im Edge-Browser publiziert. Jetzt wurde eine weitere ...

iOS
IOS 11.2.6 verfügbar
Information von sabines vor 12 StundeniOS

Mit dem Update soll der Bug behoben werden, bei dem eine bestimmte Zeichenkette IOS zum Absturz gebracht hat.

Sicherheit
Sicherheitsrisiko: Die Krux mit 7-Zip
Information von kgborn vor 1 TagSicherheit8 Kommentare

Bei vielen Anwendern ist das Tool 7-Zip zum Entpacken von Archivdateien im Einsatz. Die Software ist kostenlos und steht ...

Internet

Datendealing im WWW Tracking Methoden immer brutaler

Information von sabines vor 1 TagInternet

Interessanter Artikel zum Thema Tracking im WWW und die immer "besseren" Methoden des Trackings. Professor Arvind Narayanan (Princeton-Universität) betreibt ...

Heiß diskutierte Inhalte
Router & Routing
LANCOM VPN CLIENT einrichten
Frage von Finchen961988Router & Routing27 Kommentare

Hallo, ich habe ein Problem und hoffe ihr könnt mir helfen, wir haben einen Kunden der hat einen Speedport ...

Windows Server
AD DS findet Domäne nicht, behebbar?
Frage von schapitzWindows Server24 Kommentare

Guten Tag, ich habe bei einem Kunden ein Problem mit den AD DS. Umgebung ist folgende: Windows Server 2016 ...

LAN, WAN, Wireless
VPN Cisco ASA5505 PaloAlto PA-200
gelöst Frage von YannoschLAN, WAN, Wireless22 Kommentare

Hallo zusammen, ich würde gerne ein Site-to-Site VPN zwischen den beiden Standorten aufbauen. PaloAlto PA200 Internetanschluss Deutsche Telekom GK ...

Webbrowser
Welcher Browser ist der Beste?
Frage von justtinWebbrowser15 Kommentare

Hallo Leute Ich habe eine interessante Frage. Mich wurde mal interessieren welcher Browser ist eure meinung nach der beste? ...