Kopieren ohne Formatierung

Hallo,

Ich habe folgendes Problem. Ich habe ein Sheet erstellt, das mir DropDown Menüeinträge automatisiert.
Das heißt, ich habe ein Eingabefeld und darunter die Liste der bereits vorhandenen Einträge. Eingegeben wird wie bereits erwähnt im Eingabefeld. Dort wird ebenfalls gelöscht, indem man dort „#“ +„den zu löschenden Eintrag schreibt“.
Allerdings muss der hintere Teil (nach der #) momentan von Hand eingegeben werden.
Die Liste der Einträge ist geschützt, damit nicht versehentlich alles gelöscht wird.

Ich möchte gerne, dass man einfach mit STRG+C einen Eintrag aus der Liste wählen kann und dann in das Eingabefeld kopieren kann.
Momentan übernimmt er in der Zielzelle bei STRG+V immer die Formatierung der kopierten Zelle. Was ich natürlich nicht will.

Hat hier jemand eine Idee?? Vielleicht kann man das ja irgenwie deaktivieren oder mit vba die STRG+C/V Funktion entsprechend verändern (natürlich nur in diesem Blatt). Wahrscheinlich gibt es dafür auch schon eine Excel-Funktionalität. Das Sheet sollte mehr oder weniger Laien-sicher sein. Deshalb sollte es einfach erst gar nicht möglich sein die Formatierung der Zielzelle zu ändern. Deshalb bringem mir eventuelle Befehle wie SHIFT+STRG+ESC+ENTER+RESETBUTTON+AM HINTERKOPF KRATZEN+V :wink: ziemlich wenig.

Schonmal vielen Dank!!!

Gruß ace.

Hallo.

Schreib ein Makro

Sub StrgV
 Selection.PasteSpecial
 Paste:=xlPasteValues, \_
 Operation:=xlNone, \_
 SkipBlanks:=False, \_
 Transpose:=False
 Application.CutCopyMode = False
End Sub

, das Du mit der Tastenkombination STRG V aufrufen kannst.

Gruß Eillicht zu Vensre

Hi Ace,

Ich habe folgendes Problem. Ich habe ein Sheet erstellt, das
mir DropDown Menüeinträge automatisiert.
Das heißt, ich habe ein Eingabefeld und darunter die Liste der
bereits vorhandenen Einträge. Eingegeben wird wie bereits
erwähnt im Eingabefeld. Dort wird ebenfalls gelöscht, indem
man dort „#“ +„den zu löschenden Eintrag schreibt“.
Allerdings muss der hintere Teil (nach der #) momentan von
Hand eingegeben werden.
Die Liste der Einträge ist geschützt, damit nicht
versehentlich alles gelöscht wird.

Wie nun, darf jeder mit „#“ usw Einträge löschen oder ist die Liste geschützt, verstehe das grad nicht.
Wenn nur Einer die Liste ändern darf so stelle sie doch auf ein zweites Blatt und bei Aktivierung des Blattes wird der Username geprüft, wenn es der falsche ist, s wird wieder Blatt 1 aktiviert.
Nur einer, der mit dem richtigen Usernamen, kommt dann aufs Blatt und darf abändern.
Ist nur ne ungeteste Idee.Zumindest erspart er sich damit immer ein passwort eingeben zu müssen wenn man das zweite Blatt schützen würde und läuft nict Gefahr, bei Verlassen das Blatt ungeschützt zu lassen.
Naja, könnte man mittels Vba ausschliessen.

Ich möchte gerne, dass man einfach mit STRG+C einen Eintrag
aus der Liste wählen kann und dann in das Eingabefeld kopieren
kann.
Momentan übernimmt er in der Zielzelle bei STRG+V immer die
Formatierung der kopierten Zelle. Was ich natürlich nicht
will.

Welche Excelversion hast du denn, bei 9.0 kann man drei Dinge beim Blattschutz einstellen, bei 10.0 sollen es ca. 10 Dinge sein, evtl also auch ein Formatschutz. Damit kannst du kein Format schützen?

Hat hier jemand eine Idee?? Vielleicht kann man das ja
irgenwie deaktivieren oder mit vba die STRG+C/V Funktion
entsprechend verändern (natürlich nur in diesem Blatt).
Wahrscheinlich gibt es dafür auch schon eine
Excel-Funktionalität. Das Sheet sollte mehr oder weniger
Laien-sicher sein.

Es geht mit Vba Str+V, Einfügen im rechten Kontextmenu derMaus und auch Bearbeiten–Einfügen umzuprogrammieren. Die Anweisung lautet OnKey bzw OnAction.

Deshalb sollte es einfach erst gar nicht

möglich sein die Formatierung der Zielzelle zu ändern. Deshalb
bringem mir eventuelle Befehle wie
SHIFT+STRG+ESC+ENTER+RESETBUTTON+AM HINTERKOPF KRATZEN+V :wink:
ziemlich wenig.

Aber genau mit dieser Tasten/Kopf-Kombination geht es doch :smile:)

Gruß
Reinhard

Momentan übernimmt er in der Zielzelle bei STRG+V immer die
Formatierung der kopierten Zelle. Was ich natürlich nicht
will.

Hi ace,
Alt+F11, falls kein Modul1 vorhanden: Einfügen–Modul, du wechselst von den Modulen zu einem anderen mittels Doppelklick auf den namen.

in Modul1

Option Explicit
Public Merker As String

in Tabelle1 (da steht dein Eingabefeld)

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
Target.NumberFormat = Merker
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Merker = Target.NumberFormat
End Sub

in Diese Arbeitsmappe

Option Explicit

Private Sub Workbook_Open()
Merker = „“
End Sub

Editor schliessen, datei schliessen, öffnen.

Gruß
Reinhard

Hallo Reinhard,
es soll jeder in der Lage sein die Liste zu bearbeiten. Gelöscht werden darf nur mit #„zu löschender Eintrag“.
Die Liste besteht aus gesperrten Zellen. Bei den Schutz-Restriktionen habe ich zwar Zellen formatieren deaktiviert, aber es geht komischer weise mit STRG+V immer noch.
Die Liste ist nur deshalb anwählbar, damit man sich die Eingabe erleichtern kann in dem man mittels Copy/Paste längere Einträge ins Eingabe-Feld kopieren kann.

Aber ich versuch jetzt die Idee mit mit dem Makro, dass mit STRG+V aufgerufen wird.

Gruß
Ace

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo,
das Makro funktioniert super. Die Formatierung wird nicht mehr geändert.
Allerdings kann ich STRG+V nun auch nicht zum löschen verwenden. Ich muss um zu Löschen im Eingabefeld eine „#“ vorstellen.
Kann man das Makro von oben so ändern, dass automatisch eine „#“ vorgestellt wird???

Vielen Dank

Gruß ace

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Allerdings kann ich STRG+V nun auch nicht zum löschen
verwenden. Ich muss um zu Löschen im Eingabefeld eine „#“
vorstellen.
Kann man das Makro von oben so ändern, dass automatisch eine
„#“ vorgestellt wird???

Hi ace,

in ein Modul:

Option Explicit
Sub Einfügen()
Selection.PasteSpecial Paste:=xlPasteValues
ActiveCell = „#“ & ActiveCell
Application.CutCopyMode = False
ActiveCell.Offset(0, 1).Select
End Sub

in DieseArbeitsmappe:

Option Explicit

Private Sub Workbook_Open()
Application.OnKey „^v“, „Einfügen“
End Sub

Gruß
Reinhard

Hi ace,

in ein Modul:

Option Explicit
Sub Einfügen()
Selection.PasteSpecial Paste:=xlPasteValues
ActiveCell = „#“ & ActiveCell
Application.CutCopyMode = False
ActiveCell.Offset(0, 1).Select
End Sub

in DieseArbeitsmappe:

Option Explicit

Private Sub Workbook_Open()
Application.OnKey „^v“, „Einfügen“
End Sub

Gruß
Reinhard

Super, vielen Dank!!! :smiley: