Office: Einfügen

Helfe beim Thema Einfügen in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo, ich möchte mit folgendem Code die Formatierungen nach dem Einfügen wieder herstellen: Code: Private Sub Worksheet_Change(ByVal Target As... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von lcars11, 13. Februar 2011.

  1. Einfügen


    Hallo,

    ich möchte mit folgendem Code die Formatierungen nach dem Einfügen wieder herstellen:

    Code:
    Normalerweise funktioniert das auch, aber es gibt dabei 2 Probleme:

    1. Der Code setzt sämtliche Formatveränderungen der Tabelle zurück, soll sich aber nur auf Spalte A-E beziehen.

    2. In Spalte C wird ein Datum mit Uhrzeit eingefügt, daraus macht er einen Haufen ########### und sagt negative Datumswerte werden so dargestellt.

    Es geht mir lediglich darum die Bedingte Formatierung zu erhalten und die eingefügten Zeilenumbrücke zu deaktivieren.

    Bin für jeden Hinweis dankbar.

    Grüße Anja

    :)
     
    lcars11, 13. Februar 2011
    #1
  2. Hallo Forum,

    ich bin inzwischen soweit dass ich auf die bedingte Formatierung verzichte und mit großer Hilfe von EarlFred das Ganze über VBA löse.

    Um das Grundthema geht es aber immer noch.
    Ich möchte aus einer externen Anwendung einfügen und die Tabellenformatierung beibehalten.

    EarlFred hat mir diese Lösung vorgeschlagen:

    Code:
    Und den Strg+V Key über Workbook_Open Anweisung mit Sub Einfügen_Anja() belegt.

    Das klappt prima, wenn ich Daten aus einer Excel-Tabelle in eine andere kopiere, aber wenn ich aus dieser externen Anwendung direkt in meine
    Zieltabelle kopiere bekomme ich
    "Laufzeitfehler 1004: Die PasteSpecial-Methode des Range Objekts konnte nicht ausgeführt werden."

    Gibt es eine Möglichkeit direkt aus der externen (nicht Office-) Anwendung in die Zieltabelle zu kopieren und die Formate der Zieltabelle zu behalten?

    Wenn nicht, wie kann ich ggf. die Formate nach dem Öffnen der Arbeitsmappe zurücksetzen?

    Grüße Anja
     
    lcars11, 15. Februar 2011
    #2
  3. Hallo Anja,

    AHAAAAA! Das muss doch mal gesagt werden.
    Was genau passiert, wenn Du die Daten "so" einfügst? Werden die Zellen richtig zugeordnet? Ist das einzige Problem, dass die Formate "gekillt" werden?
    Dann lies doch mal testweise die Zwischenablage mit dem DataObject aus und versuche, den blanken Text einzufügen (mit Deinem "Umleitungsmakro").

    Edit: Und wenn Du eine "Datenprobe" zur Verfügung stellen würdest, also das wär schon toll...

    Grüße
    EarlFred
     
    EarlFred, 16. Februar 2011
    #3
  4. Einfügen

    Hallo EarlFred (wieder einmal *wink.gif*

    Wenn ich sie von Extern einfüge kommt nur die Fehlermeldung mit Option Debuggen oder beenden, das Einfügen findet nicht statt.

    Wenn ich aus einer anderen Exceltabelle oder sheet einfüge dann ist alles so wie es sein soll!

    Ich werde mich dann mal bei Google über das Auslesen der Zwischenablage mit dem DataObject schlau machen...

    Grüße Anja
     
    lcars11, 16. Februar 2011
    #4
  5. Hallo Anja,

    nimm einfach eine neue Tabelle, erstelle einen VBA-Verweis auf die "Microsoft Forms 2.0 Object Library" und erstelle in einem neuen Modul folgenden Code:

    Code:
    Poste dann mal beispielhaft, was in A1 steht.
    Vermutlich wird dort irgendein Trenner sein, der als Quadrat dargestellt wird. Isoliere den mal als Text in der Zelle A1 und verwende die Formel
    Code:
    Dann sollte als Ergebnis eine Zahl kommen, die wir zum Trennen gebrauchen werden.

    Grüße
    EarlFred
     
    EarlFred, 16. Februar 2011
    #5
  6. Hallo EarlFred,

    erstmal vorweg... ich betrete wieder totales Neuland aber ich bin froh dass mir jemand so kompetentes zur Seite steht. So genug gesäuselt *wink.gif*

    Du hattest (wie meistens) Recht ich habe den Verweis auf die Microsoft Forms 2.0 Object Library hergestellt indem ich eine UserForm erstellt und dann wieder gelöscht habe.

    Nach ausführung des Codes hatte ich den Inhalt des Clipboard in A1. Nach Kopie des Quadrats in B1 und Auslesen der Zelle B1 mit =Code(B1) erhielt ich als Ergebnis die Zahl 32.

    Ich habe aber vorsichtshalber jeden Trenner ausgelesen. Ergebnis:
    32 32 32 32 10


    Wie trennen wir jetzt die Daten nach Zahl 32?

    Grüße Anja
     
    lcars11, 16. Februar 2011
    #6
  7. Hallo Anja,

    na, wir trennen mit Split, wie denn sonnst? *wink.gif*

    Code:
    Grüße
    EarlFred
     
    EarlFred, 16. Februar 2011
    #7
  8. Einfügen

    Hallo EarlFred,

    er trennt jetzt leider nach jedem Leereichen, aber nicht nach den Quadraten. Im Gegenteil, die sind immer noch drin im Text.

    Datenprobe:
    Code:
    Weiterhin ist das Problem, dass er bei mehreren Zeilen die eingefügt werden sollen, alles hintereinander in eine zeile schreibt, statt nach dem letzten Wert (hier "West") in die nächste Zeile zu springen.

    Gruß Anja
     
    lcars11, 16. Februar 2011
    #8
  9. Hallo Anja,

    hatte mich schon gewundert, dass das Zeichen 32 als Quadrat dargestellt wird, denn das ist ein "stino" (stink normales) Leerzeichen (Space). Dann ist das also nicht der korrekte Trenner. Dann müstest Du also nochmal ran.

    Wenn mehrere Zeilen gleichzeitig eingetragen werden sollen / müssen, muss hier auch ein anderer Trenner vorliegen (das könnte die 10 sein).
    Also nimm bitte nochmal mein "Versuchsmakro" und kopiere Text hinein, der in mehrere Zeilen ausgelesen werden soll und lies auch hier bitte wieder die Trenner, auch für den "Zeilenumbruch", aus

    Grüße
    EarlFred
     
    EarlFred, 16. Februar 2011
    #9
  10. Hallo EarlFred,

    nach ein paar Versuchen hat's dann doch noch geklappt, die SpaltenTrennung muss noch Zahl 9 erfolgen und die 10 ist wohl wirklich der Zeilentrenner.

    Mein Makro sieht jetzt so aus:

    Code:
    Die 9 hab ich schon eingesetzt und die Trennung macht er auch problemlos.
    Funktioniert die Trennung nach Zeilen genauso?

    Ich will den Code hinterher dann auf STRG+V legen wie wir es schon "geübt" haben.

    Gruß Anja
     
  11. Hallo Anja,

    mit kleinem Schleifchen drumherum: Teste mal bitte:
    Code:
    Grüße
    EarlFred
     
    EarlFred, 17. Februar 2011
    #11
  12. Hallo EarlFred,

    das Einfügen dauert jetzt zwar einen kleinen Moment aber dafür dass ich die bed. Formatierung los bin und über STRG+V ohne Formatänderung einfügen kann das war es wert!!!

    Vielen Dank!

    Ich meld mich gleich nochmal mit vollständigem Code wenn ich das mit der STRG-V Kombi hinbekommen habe.

    Grüße Anja
     
  13. Einfügen

    Hallo EarlFred,

    mir ist aufgefallen dass ich bei den so eingefügten Daten die Zellformatierung in spalte C nicht mehr ändern kann.

    Da steht das Datum+Uhrzeit drin z.B. 16.02.2011 08:13

    Wenn ich jetzt mit Zellen formatieren-> Zahlen -> Benutzerdefiniert -> TT.MM.JJJJ das Format ändern will tut er das nicht mehr.

    Wenn ich das datum manuell in der Zelle verändere passt er das Format auf TT.MM.JJJJ an.

    Ist aber ein geringer Preis für das was gewonnen wurde.
    Hast du zumindest eine erklärung dafür damit ich das verstehe?

    Grüße Anja
     
  14. Hallo Anja,

    Geschwindigkeit:
    Das Makro fügt Zeile für Zeile ein - das kann bei großen Datenmengen etwas dauern. Alternative wäre, stattdessen erstmal alle Daten innerhalb des Makros in ein "großes" Array zu schreiben und dieses in einem Rutsch in die Tabelle zu bringen. Dann hast Du nur noch einen einzigen Zugriff, das spart Zeit.
    Zudem fehlt mir der genaue Überblick, wie umfangreich auf Eintragungen reagiert wird (Change-Ereignis) und welchen Zeitbedarf dies hat.

    Datum:
    Die Daten werden als Text in die Zellen übertragen. Einem Text kann man aber kein Zahlen-(Datums-)Format zuweisen. Durch das Bearbeiten erst erkennt Excel diese Eintragung als Datum, so dass sie formatiert werden kann.
    Das Umwandeln könnte die Funktion Datevalue in einer Schleife erledigen (Achtung wieder beim Change-Ereignis).

    Grüße
    EarlFred
     
    EarlFred, 17. Februar 2011
    #14
  15. Hallo EarlFred,

    mir ist doch noch etwas aufgefallen!

    Wenn ich z.B. 3 Einträge in die Zwischenablage kopiere, fügt er mir nur 2 in Excel wieder ein.

    Das geht natürlich nicht, weil mir dann immer eine Zeile fehlt.

    Hast du noch mal nen Rat?

    Gruß Anja
     
Thema:

Einfügen

Die Seite wird geladen...
  1. Einfügen - Similar Threads - Einfügen

  2. Wenn ein Wert ein einer Spalte, dann komplette Zeile im anderen Blatt untereinander einfügen.

    in Microsoft Excel Hilfe
    Wenn ein Wert ein einer Spalte, dann komplette Zeile im anderen Blatt untereinander einfügen.: Hallo, kann mir jemand bitte bei folgenderm Helfen. Habe etwas ähnliches gefunden was ich brauche, nur noch eine kleine Änderung ist notwendig. Aufgabe: Es wird geprüft, ob in Spalte Q ein Wert...
  3. Word Steuerelemente/Formular erstellen

    in Microsoft Word Hilfe
    Word Steuerelemente/Formular erstellen: Hallo, ich möchte ein Formular mit 20 kleinen Textfeldern erstellen, die auf einer Seite an vordefinierten Stellen sind. Das fertige Formular soll so angewendet werden, dass ich in die 20...
  4. pdf drucken mit button in excel einfügen

    in Microsoft Excel Hilfe
    pdf drucken mit button in excel einfügen: Guten Abend! Habe mit zahlreicher Unterstützung geschafft einen Button auf mein dritten Tabellenblatt einzufügen Funktion fähig. Nun brauche ich nochmals Hilfe. Ich will mittels des PDF Drucken...
  5. Rabat Codes in einen Serienbrief einfügen

    in Microsoft Word Hilfe
    Rabat Codes in einen Serienbrief einfügen: Hi, Ich möchte bei einem Brief für meine Kunden eine Rabatcode einfügen. Diese sind zufällig erstellt und in Excel als Tabelle gespeichert. Wie bekomme ich diese nun so eingefügt das auf jedem...
  6. VBA: Platzhalter ersetzen und evtl. leere Zeile einfügen

    in Microsoft Word Hilfe
    VBA: Platzhalter ersetzen und evtl. leere Zeile einfügen: Hallo zusammen, ich habe eine Word-Vorlage mit Platzhaltern, in die ich mit VBA Daten aus einer Excel-Datei einfüge (in eine Excel-Zeile schreibe ich alle Daten für ein neues Word-Dokument). So...
  7. Punkteraster einfügen

    in Microsoft Word Hilfe
    Punkteraster einfügen: Ich möchte ein Punkteraster einfügen, die Punktabstände bestimmen und Linien zeichnen, die an den Punkten orientiert sind. Anfang und Ende der Linien sollen sich an Punkte "anbinden". Mir fällt da...
  8. Adresse aus Teilen eines Nummernblocks einfügen

    in Microsoft Excel Hilfe
    Adresse aus Teilen eines Nummernblocks einfügen: Guten Tag zusammen, ich benötige Hilfe zu einer Formel / Funktion für folgendes: Ich möchte mit dem ersten Teil eines Nummernblocks (3 Stellen) aus einer Verweistabelle mit Adressen, diese dem...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden