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

Nur Werte kopieren....

Nur Werte kopieren....
Gordon
Moin moin,
gibt es eine Möglichkeit das 'normale' Kopieren zu unterbinden und stattdessen nur das Kopieren von Werten zu erlauben?
Am schönsten wäre es natürlich, wenn man das 'normale' Kopieren so manipuliert dass dabei nur die Werte kopiert werden.
Gibt es da Möglichkeiten?
Gruß
Gordon
AW: Nur Werte kopieren....
14.04.2010 10:58:43
Peter
Hallo Gordon,
z. B. so:
WkSh_Q.Activate
WkSh_Q.Range(Cells(Strt_Z, 1), Cells(Ende_Z, 2)).Copy
WkSh_Z.Cells(13, 1).PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
Gruß Peter
AW: Nur Werte kopieren....
14.04.2010 11:07:53
Gordon
Hmm...ich glaube da hatte ich mich wohl falsch ausgedrückt.
Den Code den ich da nun lese wäre ja wenn ich per Makro nur die Werte rein kopieren möchte. Ich möchte aber, die Aktion 'Kopieren und Einfügen' per Maus unterbinden bzw. durch 'Kopieren und Werte einfügen' ersetzen - wenn es möglich ist.
Oder verstehe ich den Code gerade völlig falsch?
Dennoch dnake shcon mal für den schnellen Beitrag.
Anzeige
eine andere Variante.
14.04.2010 11:11:37
Tino
Hallo,
beim kopieren stört mich immer das der Bereich ungewollt markiert wird.
Daher hier eine andere Variante für einen zusammenhängenden Bereich.
Dim rngQuelle As Range, rngZiel As Range
Set rngQuelle = Range("A1:B100")
Set rngZiel = Range("D1")
rngZiel.Resize(rngQuelle.Rows.Count, rngQuelle.Columns.Count).Value = _
rngQuelle.Value
Gruß Tino
AW: eine andere Variante.
14.04.2010 11:16:04
Gordon
Ja,
aber hier muss ich ja das Makro wieder für den gewünschten bereich anpassen und dann immer ausführen. Mir geht es darum, ob ich das 'Einfügen' im Kontextmenü manipulieren kann?
Sprich wenn ich eine Zelle einfüge also auf 'Einfügen' klicke, dann dann nur der Wert eingefügt wird.
Gruß
Gordon
Anzeige
über Inhalt einfügen
14.04.2010 11:21:41
Tino
Hallo,
rechte Maustaste -> Inhalt einfügen... -> Werte.
Gruß Tino
AW: über Inhalt einfügen
14.04.2010 11:25:10
Gordon
Ja,
das weiß ich doch natürlich. :-)
Aber ich möchte halt, dass dieses geschieht, wenn man nur auf 'Einfügen' geht und nicht den 'Umweg' über 'Inhalte einfügen' nehmen muss.
Ich meine zu Wissen (gefährliches Halbwissen, ich weiß), dass man die Funktionen in Excel so manipulieren bzw. abändern kann. Aber irre mich gerne.....
Gruß
Gordon
Halte ich für nicht sinnvoll oT. (Frage offen)
14.04.2010 11:43:44
Tino
AW: Halte ich für nicht sinnvoll oT. (Frage offen)
14.04.2010 11:46:46
Gordon
Ja, ch kenne die Bedenken bei dem Thema und teile diese auch, aber dennoch würde ich das gerne wissen.
Wie man Tastenkombinationen ändert weiß auch schon. Jetzt wäre es halt auch gut zu wissen, wie man die Buttons bzw. das Kontextmenü beeinflussen kann.
Gruß
Gordon
Anzeige
Zell-Kontextmenü 'Einfügen' manipulieren
14.04.2010 12:20:49
NoNet
Hallo Gordon,
eins vorweg : Ich halte es wie Tino nicht für ratsam, den Befehl "Einfügen" des Zell-Kontextmenüs zu verändern. Stattdessen würde ich eher den Befehl "Werte einfügen" in das Kontextmenü mit aufnehmen und ggf. wieder entfernen :
Sub KontextMenueWerteEinfuegenHinzufuegen()
'Mit diesem Makro wird Funktion "Werte einfügen" in das Zell-Kontextmenüs hinzugefügt :
Dim cnt As CommandBarControl
Set cnt = Application.CommandBars("Cell").FindControl(ID:=370) 'ID370 = "Werte einfügen"
If cnt Is Nothing Then
Application.CommandBars("Cell").Controls.Add ID:=370, temporary:=True 'Werte einfügen
End If
End Sub

Sub KontextMenueWerteEinfuegenEntfernen()
'Mit diesem Makro wird Funktion "Werte einfügen" aus dem Zell-Kontextmenü entfernt :
Dim cnt As CommandBarControl
For Each cnt In Application.CommandBars("Cell").Controls
If cnt.ID = 370 Then cnt.Delete 'ID370 = "Werte einfügen"
Next
End Sub

Falls Du aber partout darauf bestehst, den Eintrag "Einfügen" im Kontextmenü auf die Funktion "Werte einfügen" umzubiegen, kannst Du das z.B. folgendermaßen lösen und wieder rückgängig machen :
Sub KontextMenueEinfuegenManipulieren()
'Mit diesem Makro wird Funktion "Einfügen" des Zell-Kontextmenüs geändert :
Dim cnt As CommandBarControl
Set cnt = Application.CommandBars("Cell").FindControl(ID:=22) 'ID22 = "Einfügen"
If Not cnt Is Nothing Then
'führt das Makro "InhalteEinfuegenWerte" aus, wenn auf "Einfügen" geklickt wird :
cnt.OnAction = "InhalteEinfuegenWerte"
Else
MsgBox "Menüpunkt 'Einfügen' icht im Kontextmenü gefunden !"
End If
End Sub

Sub KontextMenueEinfuegenResetten()
'Mit diesem Makro wird wieder die Standard-Funktion hergestellt :
Dim cnt As CommandBarControl
Set cnt = Application.CommandBars("Cell").FindControl(ID:=22)
If Not cnt Is Nothing Then cnt.OnAction = ""
End Sub

Sub InhalteEinfuegenWerte()
On Error Resume Next
Selection.PasteSpecial xlPasteValues 'Inhalte einfügen - Werte
End Sub
Gruß, NoNet
Anzeige
Wenn's nur um Werte Einfügen geht,...
15.04.2010 01:14:09
Luc:-?
…Gordon,
ist NoNets Vorschlag mit dem Befehl im Kontextmenü oder per Icon am Besten. Ich habe das auch und auch Formeln einfügen wäre mögl (in xl12 ist beides Standard). Wenn aber ein normaler User daran gehindert wdn soll, in einer Tabelle alles zu kopieren, gäbe es sicher andere Alternativen. Auf keinen Fall darf das Zurücksetzen vergessen wdn, wenn diese Datei geschlossen wird, wenn du NoNets Alternativvorschlag folgst. Und das muss auch erfolgen, wenn die Datei abstürzt! Anderenfalls solltest du ein separates Rücksetzpgm bereit halten! Auf jeden Fall kann dir das Ganze eigentl nur betriebl Ärger einbringen, den du besser vermeiden solltest.
Gruß Luc :-?
Anzeige
AW: Wenn's nur um Werte Einfügen geht,...
15.04.2010 08:12:52
Gordon
Moin,
komme leider erst jetzt zum Schreiben, aber danke erstmal an alle die sich hier beteiligt haben. Mir selber ist schon klar, dass das ein etwas heikles Thema ist. Mir ging es aber erstmal 'nur' um mich und nicht für andere. Daher finde ich die Idee mit dem extra Menüpunkt auch am optimalsten. Hatte ich vorher noch nicht so drüber nachgedahct, dass das auch gehen könnte.
Werde mir auf jeden Fall die ganzen Code-teile hier mal anschauen und dann mir das geeignete raussuchen und anpassen.
Danke an alle nochmal....vorallem an NoNet! :-)
Gruß
Gordon

315 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige