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

Daten in eine Tab. kopieren - ohne Formate ändern

Daten in eine Tab. kopieren - ohne Formate ändern
14.08.2007 10:17:08
Peter
Guten Tag
Ich habe ein Template, in das andere Anweder Daten reinkopieren. Nun möchte ich verhindern, dass bei diesem Vorgang die Formate verändert werden.
Den Bereichen, in welche Daten hineinkopiert werden, habe ich die Namen "Daten1" und "Daten2" gegeben.
Kann mir jemand weiterhelfen? Dabei ist mir schon kar, dass man die Formatänderung mit "Einfügen ... nur Werte" verhindern könnte. Aber ich kann ja den Anwendern nicht immer über die Schulter schauen ...
Danke für jede Rückmeldung.
Peter

21
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Daten in eine Tab. kopieren - ohne Formate änd
14.08.2007 10:26:13
Renee
Mazwara Peter,
Ich habe ein Template, in das andere Anweder Daten reinkopieren
Das widerspricht sich doch. Eine Vorlage soll doch gerade dazu dienen, dass sie nicht verändert werden soll.
Oder versteh ich da was falsch? Eine Beispielmappe wäre vielleicht hilfreich.
Greetz Renee

AW: Daten in eine Tab. kopieren - ohne Formate änd
14.08.2007 10:29:00
Peter
Hallo Renée
Vielleicht habe ich das zu kompliziert geschrieben:
Die Bereiche, bei der die Formate nicht verändert werden sollen ist mir Arial Norrow 8 sowie gelber Hintergrundfarbe formatiert.
Wenn nun jemand in diese Bereiche Daten aus einem anderen Excel File ("Quelldatei") hineinkopiert, werden die Formate aus der Quelldatei übernommen und das möchte ich gerne verhindert.
Gruss, Peter

Anzeige
AW: Daten in eine Tab. kopieren - ohne Formate änd
14.08.2007 10:37:40
Walburga
Hallo Peter
benütze doch das Change-Ereignis, in etwa so:
Private Sub Worksheet_Change(ByVal Target As Range) With UsedRange.Font .Name = "Arial Narrow" .FontStyle = "Standard" .Size = 8 .Strikethrough = False .Superscript = False .Subscript = False .OutlineFont = False .Shadow = False .Underline = xlUnderlineStyleNone .ColorIndex = xlAutomatic End With With UsedRange.Interior .ColorIndex = 44 .Pattern = xlSolid .PatternColorIndex = xlAutomatic End With End Sub


Gruss Walburga

AW: Daten in eine Tab. kopieren - ohne Formate änd
14.08.2007 10:42:02
Ramses
Hallo
Mit diesem Code wird der GESAMTE benutzte Bereich ind er Tabelle in dieser Form formatiert !
Gruss Rainer

Anzeige
AW: Daten in eine Tab. kopieren - ohne Formate änd
14.08.2007 10:45:00
Walburga
Hallo Rainer
ist schon klar, aber meines Wissens war kein spezieller Bereich gefordert und im Übrigen, der Frager kann doch bestimmt einen Code anpassen! Sollte eigentlich nur ein Denkanstoss sein!
Schönen Tag noch
Walburga

AW: Daten in eine Tab. kopieren - ohne Formate änd
14.08.2007 10:38:39
Ramses
Hallo
was möchtest du verhindern ?
Dass jemand Daten in die Bereiche kopiert oder dass die Formate übernommen werden ?
Gruss Rainer

AW: Daten in eine Tab. kopieren - ohne Formate änd
14.08.2007 10:59:00
Peter
Hallo Rainer
Ich will verhindern, dass bestehende Formate geändert werden. Ich kann jedoch die Tabelle nicht sperren, da Daten in die Bereiche hineinkopiert werden müssen.
Gruss, Peter

Anzeige
AW: Daten in eine Tab. kopieren - ohne Formate änd
14.08.2007 11:07:00
Ramses
Hallo
Dann musst du deinen Benutzern beibringen, diese Kopiervorgänge mit dem Befehl
"Bearbeiten - Inhalte einfügen - Option Werte"
oder dieses Makro in der Tabelle hinterlegen
Rechte Maustaste auf Tabellenreiter
Code anzeigen
Dort das nachfolgende Makro reinkopieren
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
    If Application.CutCopyMode = False Then Exit Sub
    Application.EnableEvents = False
    Application.Undo
    Selection.PasteSpecial Paste:=xlValues
    Application.EnableEvents = True
End Sub

Dies ist kein Allheilmittel weil es alle Kopiervorgänge innerhalb der Tabelle abfängt und nur noch Werte einfügt !!!
Gruss Rainer

Anzeige
@ Ramses
14.08.2007 11:26:38
Peter
Vielen Dank auch für diesen Code. In meinem Fall ein Allerweltsheilmittel, da in dieser Tabelle sonst keine Kopiervorgäng vorkommen.
Mit
Selection.PasteSpecial Paste:=xlValues
werden ja eigentlich nur Werte eingetragen (was von mir gewünscht ist).
Weshalb werden die Formate trotzdem geändert (wenn Ursprungszelle fett ist, wird dies übernommen; wenn andere Schriftart oder Hingrundfarbe auch).
Falls dies auch noch abzufangen wäre, wäre dies toll. Ansonsten werde ich wohl mit einem Change Ereignis nach jeder Eingabe die verschiedenen Bereiche neu formatieren.
Gruss, Peter

Anzeige
AW: @ Ramses
14.08.2007 11:34:00
Ramses
Hallo
dann hast du den Code nicht richtig eingefügt.
Das funktioniert. Dieses Hintertürchen mit Application.Undo habe ich nämlich, entgegen meinen sonstigen Vorschlägen, getestet :-)
Gruss Rainer

AW: @ Ramses
14.08.2007 11:45:00
Peter
Hallo Rainer

Die Datei https://www.herber.de/bbs/user/45049.xls wurde aus Datenschutzgründen gelöscht


Ich habe ihn schon bei der entsprechenden Tabelle hinterlegt (wie aus dem Attachment ersichtlich). Die Eingabebereiche sind gelb markiert.
Gruss, Peter

Funktioniert doch...
14.08.2007 11:57:34
Ramses
Hallo
Beiliegend deine Tabelle
Beim öffnen der Datei erhältst du eine Fehlermeldung betreffend der Menüs.
Die habe ich deaktiviert, weil ich mir nicht gerne die Umgebung "verbiegen" lasse :-)
https://www.herber.de/bbs/user/45050.xls
Gruss Rainer

Anzeige
AW: Funktioniert doch...
14.08.2007 14:45:00
Peter
Hallo zusammen
Vielen Dank für die Rückmeldung.
Ich habe deinen Hinweis übersehen, dass es nur INNERHALB der Tabelle, jedoch nicht innerhalb EXCEL funktioniert. Mein Problem ist, dass ich die Daten innerhalb der gleichen Applikation, jedoch Workbook-übergreifend kopieren muss.
Wenn ich den Hinweis von Renée lesen, müsste es innerhalb der Applikation funktionieren, oder habe ich dieser Hinweis von Renée falsch verstanden, oder müsste noch eine zusätzliche Zeile vornean gestellt werden?
Wenn das innerhalb Excel, jedoch workbook-übergreifend funktionieren würde, wäre das ganz toll.
Grüsse, Peter
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
If Application.CutCopyMode = False Then Exit Sub
Application.EnableEvents = False
Application.Undo
Selection.PasteSpecial Paste:=xlValues
Application.EnableEvents = True
End Sub


Anzeige
AW: Funktioniert doch...
14.08.2007 17:34:09
Ramses
Hallo
probiers doch einfach mal aus.
Natürlich funktioniert das innerhalb EXCEL von einer Mappe in eine andere,...vorausgesetzt, und hier kommt die Einschränkung, es ist die gleiche EXCEL-Instanz. Das heisst EXCEL darf nicht mehrmals geöffnet sein, sonst kopierst du wieder von einer Anwendung in eine andere Anwendung.
Jede EXCEL Instanz verwaltet ihre Kopiervorgänge selbst.
Gruss Rainer

AW: Funktioniert doch...
14.08.2007 18:27:53
Peter
Hallo Rainer
Von Anfang an habe ich bei meinen Tests Daten aus einem anderen Workbook in mein Worksheet, jedoch innerhalb der gleichen Excel-Instanz durchgeführt und festgestellt, dass es bei mir nicht funktioniert. Deshalb habe ich die Datei hochgeladen - und erst realisiert, als du innerhalb des gleichen Sheets kopiert hast und mir die entsprechende Rückmeldung gegeben hast, dass ich einen früheren Hinweis von dir nicht beachtet habe, dass es nur innerhalb des gleichen Worksheets geht.
Gruss, Peter

Anzeige
AW: Funktioniert doch...
14.08.2007 18:47:00
Ramses
Hallo Peter
Das ist nicht korrekt.
Ich habe natürlich vor meinem letzten Beitrag das probiert und Daten aus einer anderen Mappe in deine kopiert.
Bei mir funktioniert das sowohl unter XP wie auch unter E2003.
Das kopiere ich in einer Mappe
Tabelle3

 AB
2  
3Auto1kg
4Birnen2kg
5Melonen3kg
6  


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
und füge es in das Worksheet bei Dir ein, und dann sieht es so aus
Input

 ABC
1Positionsbewertung per: 31.01.2007
2Kunde abc
3Sacheinlage: def
4Kategorie: Obligationen
5Fonds-Währung CHF
6   
7Devisenkurse per 31.01.2007  
8Umrechnung in CHF  
9Auto 1kg  
10Birnen 2kg  
11Melonen 3kg  

Formeln der Tabelle
ZelleFormel
A7="Devisenkurse per "&TEXT(Input!C1;"TT.MM.JJJJ")
A8="Umrechnung in "&Währung


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Starte mal den VB-Editor und gib im Direktfenster, wenn nicht sichtbar mit "Ansicht - Direktfenster" einblenen, den Befehl
Application.EnableEvents = True
ein, und betätige die ENTER-Taste.
Danach startest du den Kopierversuch nochmal.
Gruss Rainer

Anzeige
AW: Funktioniert doch...
16.08.2007 18:43:32
Peter
Hallo Rainer
Vielen Dank für deine Rückmeldung. Es hat mir ziemlich zu denken gegeben, dass es bei dir läuft und bei mir nicht. Daher habe ich mal analysiert, was in meiner "vollständigen" Excel-Mappe stören könnte und bin auf meine Spezialfunktion (vgl. nachstehend) gestossen, die ich ab und zu brauche, wenn ich einen Fehlerabfangen will, da mir die Konstruktion mit WENN(ISTFEHLER(.....)...).... manchmal etwas zu kompliziert ist. Nun habe ich alle diese Formeln mit dieser Funktion ersetzt, und siehe da, es funktioniert jetzt auch bei mir.
Nochmals vielen Dank, dass du in dieser Sache meine Anfragen ertragen und mir immer geantwortet hast!
Peter

Public Function KEINFEHLER2(Arg1 As Variant, Arg2 As Variant, Optional Arg3 As Variant) As  _
Variant
Application.Volatile
If IsError(Arg1) Then
If IsMissing(Arg3) Then
KEINFEHLER2 = Arg2
Else
If IsError(Arg2) Then KEINFEHLER2 = Arg3 Else KEINFEHLER2 = Arg2
End If
Else
KEINFEHLER2 = Arg1
End If
End Function


AW: @ Ramses
14.08.2007 11:58:00
Renee
Hi Peter,
Der Code funktioniert problemlos, solange innerhalb der EXCEL-Applikation kopiert wird. Applikationsübergreifendes (z.B. Browser nach Tabelle, Word nach Tabelle etc.) kann nicht funktionieren.
Darum ist auch die erste Codezeile wichtig. Du kannst sie nicht weglassen, weil bei applikationsübergreifendem Copy/Paste so etwas wie xlValues nicht funktionieren kann.
Greetz Renee

AW: Daten in eine Tab. kopieren - ohne Formate änd
14.08.2007 10:39:00
Renee
Hello Peter,
Versuch es mal mit diesem Code in dem Blatt, wo Du das verhindern willst.
Du musst den Bereich in der ersten Zeile anpassen.

Private Sub Worksheet_Change(ByVal Target As Range)
Const rBereich = "C5:F12"
If Intersect(Target, ActiveSheet.Range(rBereich)) Is Nothing Then Exit Sub
Application.EnableEvents = False
With ActiveSheet.Range(rBereich)
.Font.Name = "Arial Narrow"
.Font.Size = 8
.Interior.ColorIndex = 6
End With
Application.CutCopyMode = xlCopy
Application.EnableEvents = True
End Sub


Greetz Renee

AW: Daten in eine Tab. kopieren - ohne Formate änd
14.08.2007 10:40:17
Renee
oops,

statt:    Application.CutCopyMode = xlCopy
Application.CutCopyMode = False


Renee

AW: Daten in eine Tab. kopieren - ohne Formate änd
14.08.2007 11:16:53
Peter
Liebes Forum
Vielen Dank für alle Rückmeldungen. Daraus werde ich meine Lösung zusammenbauen können.
Gruss, Peter

257 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige