Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Anzeige
Inhaltsverzeichnis

Nur unformatierten Text einfügen

Forumthread: Nur unformatierten Text einfügen

Nur unformatierten Text einfügen
12.11.2024 15:38:13
Wolfgang
Hallo Miteinander,

ich habe eine Frage, auf die ich im Internet keine Antwort finde. Ich habe eine Tabelle, in die Kolleginnen und Kollegen Text zur Beschreibung von Sachverhalten Texte einfügen und weil der Mensch bequem ist, kopieren die Kolleginnen und Kollegen gerne Textpassagen aus Mails und anderen Anwendungen und fügen diese in die Tabelle ein. Natürlich ist mit der Funktion "nur Werte einfügen" hier niemand vertraut. Die Folge ist, dass die Datei nach einem Monat ausschaut, als wäre sie unter dem Einfluss einer nicht geringen Menge LSD entstanden.

Daher nun meine Frage: gibt es eine Möglichkeit Excel dazu zu bringen, dass beim Einfügen von kopierten Inhalten ausschließlich unformatierter Text eingefügt wird?

Vielen Dank für Eure Unterstützung und viele Grüße
Wolfgang
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Ctrl+Shift+V owT
12.11.2024 15:51:01
Charly CNX
AW: Ctrl+Shift+V owT
12.11.2024 17:40:36
daniel
mach doch in einem weiteren Tabellenblatt eine Vorlage, also eine Zeile ohne Inhalt mit den passenden Formaten (Rahmenlinien, Zahlenformate)
die kannst du bei Bedarf kopieren und dann die Formate in die Tabelle mit den Daten einfügen.
Gruß Daniel
Stinkt der Fisch vom Kopf her?
12.11.2024 17:32:50
RPP63
Moin Wolfgang!
Ich weiß, ist ein provokanter Betreff.
Allerdings kurz meine ureigene Meinung:
• Ein Mitarbeiter, der es mehrfach nach Belehrung nicht kapiert, ein Dokument korrekt zu führen, sitzt vielleicht auf dem falschen Arbeitsplatz.
• Das Gleiche dürfte auf einen Vorgesetzten zutreffen, der nicht in der Lage ist, eine Schulung auch durchzusetzen.

Gruß Ralf
Anzeige
AW: Nur unformatierten Text einfügen
12.11.2024 18:27:59
Yal
Moin,

entsprechend die Beschreibung der Befüllungsmethod:
nehme eine Zelle ausserhalb der verwendete Bereich (wir nehme an, dass diese in originale Zustand liegt)
kopieren,
als Format aus alle Zellen einfügen.

Der Code dazu:
Sub Format_reseten()

With Worksheets("Tabelle1")
.Range("XFD1").Copy
.Cells.PasteSpecial Paste:=xlPasteFormats
End With
Application.CutCopyMode = False
End Sub


Wenn diese Sub als Workbook_BeforeSave gerufen wird, hat man stets eine saubere Stand.
Ansonsten die Kollege einprügeln, dass Shift+Strg+c statt Strg+c verwenden werden soll, wäre auch sinnvoll.

VG
Yal
Anzeige
AW: Nur unformatierten Text einfügen
12.11.2024 19:48:01
volti
Hallo Wolfgang,

falls Deine Kollegen mit den hier bereits vorgeschlagenen Maßnahmen uneinsichtig sind... :-)

Es geht auch anders, allerdings mit etwas Aufwand. Das u.a. Makro kopiert den Inhalt der Zwischenablage als Text. Der kann dann auch via Strg-V usw. eingefügt werden.

Allerdings muss das Makro auch irgendwie aufgerufen werden. Z.B. über eine umgelenkte Tastenkombination oder man legt sie in die Workbook_Activate, Shee_Activate Funktionen. Diese sollte ja immer durchlaufen werden, wenn man von einer anderen Anwendung zurück nach Excel kommt....
Vielleicht wäre das ja was für DIch.

abgeleitet von hier:
https://www.clever-excel-forum.de/Thread-Excel-Range-als-Werte-in-die-Zwischenablage-kopieren

Code:


Option Explicit Private Declare PtrSafe Function GlobalAlloc Lib "kernel32" (ByVal wFlags As Long, _ ByVal dwBytes As LongPtr) As LongPtr Private Declare PtrSafe Function GlobalLock Lib "kernel32" ( _ ByVal hMem As LongPtr) As LongPtr Private Declare PtrSafe Function GlobalSize Lib "kernel32" ( _ ByVal hMem As LongPtr) As LongPtr Private Declare PtrSafe Function GlobalUnlock Lib "kernel32" ( _ ByVal hMem As LongPtr) As Long Private Declare PtrSafe Function lstrcpy Lib "kernel32" ( _ ByVal lpString1 As Any, ByVal lpString2 As Any) As LongPtr Private Declare PtrSafe Function IsClipboardFormatAvailable Lib "user32" ( _ ByVal wFormat As Long) As Long Private Declare PtrSafe Function SetClipboardData Lib "user32" ( _ ByVal wFormat As Long, ByVal hMem As LongPtr) As LongPtr Private Declare PtrSafe Function GetClipboardData Lib "user32" ( _ ByVal wFormat As Long) As LongPtr Private Declare PtrSafe Function OpenClipboard Lib "user32" ( _ ByVal hWnd As LongPtr) As Long Private Declare PtrSafe Function CloseClipboard Lib "user32" () As Long Private Declare PtrSafe Function EmptyClipboard Lib "user32" () As Long Function KopiereAlsText() As String ' Kopiert den Inhalt der Zwischenablage als Text Dim hMem As LongPtr, lpGMem As LongPtr, sCliptext As String, i As Long Const CF_TEXT As Long = 1 If IsClipboardFormatAvailable(CF_TEXT) > 0 Then ' Daten vorhanden? For i = 1 To 2 OpenClipboard 0& ' Zwischenablage öffnen If i = 1 Then hMem = GetClipboardData(CF_TEXT) ' TEXT aus Zwischenablage If i = 2 Then hMem = GlobalAlloc(&H42, Len(sCliptext)) ' Speicher reservieren If hMem > 0 Then lpGMem = GlobalLock(hMem) ' Speicher blockieren If i = 1 Then sCliptext = Space(CLng(GlobalSize(hMem))) ' Platz reservieren lstrcpy sCliptext, lpGMem ' Daten kopieren GlobalUnlock hMem ' Speicher freigeben EmptyClipboard ' Zwischenablage leeren Else lpGMem = lstrcpy(lpGMem, sCliptext) ' Daten kopieren If GlobalUnlock(hMem) = 0 Then _ SetClipboardData CF_TEXT, hMem ' TEXT in Zwischenablage End If End If CloseClipboard ' Zwischenablage schließen Next i End If End Function ' ############################################### Sub Worksheet_Activate() Call KopiereAlsText End Sub

_________________________
viele Grüße aus Freigericht 😊
Karl-Heinz

Anzeige

Forumthreads zu verwandten Themen

Anzeige