Office: (Office 2010) 255 Zeichen bei Übergabe von TextBox an Zelle

Helfe beim Thema 255 Zeichen bei Übergabe von TextBox an Zelle in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo Regina, mein Testkunde war immer Langenchursdorf, in Zeile 5. Habe aber das ganze jetzt auch bei Maier in Zeile 6 ausprobiert. Auch bei Maier... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von Jens Wendler, 20. Mai 2020.

  1. 255 Zeichen bei Übergabe von TextBox an Zelle


    Hallo Regina,

    mein Testkunde war immer Langenchursdorf, in Zeile 5. Habe aber das ganze jetzt auch bei Maier in Zeile 6 ausprobiert. Auch bei Maier kommt bei mir der Fehler, sobald ich mehr als 255 Zeichen eingebe.
    Sobald ich die Zeile mit "Transpose" im Code ergänze mit Application.EnableEvents = False und danach wieder Application.EnableEvents = True, funktioniert es. Es muss doch irgendwas mit diesem Code zu tun haben. Ich würde nur ungern darauf verzichten.
    Kann ich unter Umständen das mit dem "Application.EnableEvents..." im Code lassen, oder macht mir das dann an anderer Stelle wieder Probleme?

    Gruß Jens
     
    Jens Wendler, 24. Mai 2020
    #16
  2. Hi,
    das Application.EnableEvents = False bewirkt, das "Ereignisse" nicht ausgelöst werden. Wenn man also mit Worksheet_Change oder ähnlichem arbeitet, werden diese Codes nicht ausgeführt.
    Erklär mal, was Du mit dem Transpose erreichen willst.
     
    ReginaR, 24. Mai 2020
    #17
  3. Nachtrag:
    Wenn es bei mir und auch bei Sabina, die die gleiche Version wie Du verwnedet hat, funktioniert, dann musst Du irgend etwas im Ablauf anderes machen als wir.

    Liste mal detailiert Deine Clicks auf, die zu Deinem Fehlerbild fürhen.
     
    ReginaR, 24. Mai 2020
    #18
  4. 255 Zeichen bei Übergabe von TextBox an Zelle

    Hallo Regina,
    Das würde mich auch interessieren; aber man kann ja immer noch dazulernen.
     
    aloys78, 24. Mai 2020
    #19
  5. Hallo Regina,
    Hallo Aloys,

    Was genau mit "Transpose" passiert, das weiß ich nicht. Dafür bin ich VBA viel zu unerfahren. Damals erhielt ich hier Hilfe im Forum, als ich die Prüfung der Tabelle mit "erstellt" und "zuletzt geändert" eingebaut habe. Ich erhielt den Code und habe ihn dann nur auf meine Formulare und Tabellen angepasst.
    _____________________________________________________________
    Der genaue Ablauf sieht folgendermaßen aus:
    1. Start des Formulars "Kundendaten"
    2. Kunde suchen über das Suchfeld, mit Enter bestätigen oder mit Button "Suchen"
    3. Ich gebe in die TextBox "Notizen" mehr als 255 Zeichen ein
    4. Über den Button "Änderungen speichern" möchte ich den geänderten Datensatz in die Tabelle übertragen
    5. Hier kommt jetzt der "Laufzeitfehler 13" und die Zeile im Code mit "Transpose" wird markiert angezeigt.

    Ich habe eben festgestellt, das allerdings trotz Fehler die gesamten Daten in die Tabelle geschrieben werden.
    Was kann ich tun?

    Gruß Jens
     
    Jens Wendler, 24. Mai 2020
    #20
  6. .... bisher hieß es ja, dass der Text abgeschnitten in der Zelle lanet, jetzt schreibst Du, dass die Daten korrekt übernommen werden und nur der Laufzeitfehler 13 das Bild trübt ...

    Frage: Gibst Du den Text im Feld Notizen manuell ein, oder kopierst Du aus eienr anderen Anwendung? Evtl. werden da irgendwelche Steuerzeichen mit kopiert, die Excel "nicht mag".
     
    ReginaR, 24. Mai 2020
    #21
  7. ... da ich keine Idee habe, was das Ganze transponieren soll, augenscheinlich nur, um zu prüfen, ob ein Bereich leer ist, habe ich das WorksheetChange-Ereignis mal überarbeitet.

    Versuch mal, ob Du damit weiterkommst. Deinen Fehler kann ich mir allerdings immer noch nicht erklären.

    Code:
     
    ReginaR, 24. Mai 2020
    #22
  8. 255 Zeichen bei Übergabe von TextBox an Zelle

    Hallo Regina,

    den Text gebe ich manuell in das Feld ein.
    Als Test habe ich auch schon 300x die 1 eingetragen, ohne Leer- oder Sonderzeichen. Trotzdem wurde der Fehler ausgegeben.

    Ich werde jetzt deinen geänderten Code ausprobieren und melde mich danach. Vielen Dank!

    Gruß Jens
     
    Jens Wendler, 24. Mai 2020
    #23
  9. Ich habe den geänderten Code bei mir eingefügt.
    Nun ist es so, das sobald ich irgendeinen Wert in der Zeile des Datensatzes ändere, beide Werte "angelegt" und "zuletzt geändert" gelöscht werden. Das soll nur passieren, sobald der gesamte Datensatz gelöscht wird, also alle Zellen leer sind.

    Gruß Jens
     
    Jens Wendler, 24. Mai 2020
    #24
  10. ... sorry, da hatte ich auf die Schnelle ein =0 vergessen:

    Code:
     
    ReginaR, 24. Mai 2020
    #25
  11. Hallo Regina,

    Vielen Dank, für deine schnelle Antwort.
    Ich habe jetzt mal alles ausprobiert, über 500 Zeichen mit allen möglichen Sonderzeichen und auch Leerzeilen.
    Es funktioniert und ich freue mich riesig, das du die Geduld hattest, mir zu helfen.
    Vielen herzlichen Dank und ich wünsche an dieser Stelle einen guten Start in die neue Woche.

    Gruß Jens
     
    Jens Wendler, 24. Mai 2020
    #26
  12. ... na prima, dann haben wir "die Kuh ja vom Eis", obwohl mir immer noch nicht klar ist, warum dieses "Phänomen" bei Dir auftrat.
     
    ReginaR, 24. Mai 2020
    #27
  13. 255 Zeichen bei Übergabe von TextBox an Zelle

    da war ich wohl zu langsam, aber da der Code nun fertig ist, poste ich ihn auch:
    Code:
    Du wirst erkennen, dass ich die Logik etwas geändert habe:
    Es wird jede Zeile nur einmal bearbeitet. Das wird dann relevant, wenn per Copy&Paste ein ganzer Block eingetragen würde, dann wird eine Zeile sooft bearbeitet, wie Spalten gefüllt sind, obwohl sich am Ergebnis nichts ändert. Das ist sinnlose Arbeit.

    If Intersect(rZelle, Range("A1:AJ10000")) Is Nothing Then Exit Sub
    Denkt bitte mal drüber nach, was diese Zeile im vorgenannten Kontext bedeutet. Sie ist kontraproduktiv!

    Es wurde richtigerweise schon mehrfach genannt, dennoch nicht berücksichtigt: Events MÜSSEN immer dann deaktiviert werden, wenn andernfalls die Gefahr einer Endlosschleifen besteht. Das ist bei diesem Ereignis der Fall. Auch wenn es hier oder da mal nicht zur Endlosschleife kommt, erzeugt es mindestens unnötige Arbeit.

    Weiterhin wurde die Logik zur Vermeidung unnützen Prüfaufwands geändert:
    Zuerst wird geprüft, ob mindestens eine Zelle der Zeile gefüllt ist (CountA).
    Ist das der Fall, erspart man sich die redundante Prüfung, ob nun gerade die bearbeitete Zelle auch "unleer" ist. Zudem kann man dann (für mein Verständnis) wegen klarer Struktur leichter nachvollziehen, was der Code überhaupt tut.


    Noch ein paar allgemeine Hinweise:

    CDate(Format(Now, "dd.mm.yyyy"))
    Diese Zeile nimmt den Zeitpunkt JETZT (Datum + Zeit) als ZAHL, formatiert diesen als TEXT, wobei die Zeit abgetrennt wird und wandelt das wieder in ein Datum zurück (=ZAHL) - und trägt das dann mit dem Standardformat für Datumswerte in die Zelle ein. Eine weniger komplizierte Variante habe ich im Code vorgeschlagen.

    Cells(lZeile, 37) =
    Und, da wir diese Diskussion erst vor kurzem intensiv geführt haben und dieser "Fehler" immer und immer und immer wieder gemacht wird: Gebt bitte an, was ihr vom Code erwartet und überlasst das weder Defaults noch Annahmen!
    - Zelle welches Blattes? Klar, hier ist es ein Klassenmodul eines Worksheets, also ist es eine Zelle genau dieses Worksheets. In einem anderen Modul hat das Weglassen des Blattes eine ganz andere Bedeutung. Wenn man es mitteilt, stellt sich die Frage aber nicht.
    Also: Me.Cells(...) (Me ist eine eindeutige Referenz)
    - Welche Eigenschaft / Methode wird abgesprochen? Da nicht benannt, wird der Default genommen, bei einem Bereich also Value. Passt (fast) immer. Aber eben nur fast. Hinschreiben tut nicht weh, ist sicher und besser lesbar:
    Me.Cells(...).VALUE = "irgendwas". Aha! Der Value-Eigenschaft wird ein Wert zugewiesen. Das versteht auch einer, der VBA nicht kennt (und der im anderen Fall denken würde: "Warum wird einem OBJEKT eine TEXTVARIABLE zugewiesen?" *confused.gif* )
     
    EarlFred, 24. Mai 2020
    #28
  14. Transpose ist eine recht limitierte Funktion (zumindest in der VBA-Umsetzung), die Probleme mit zu großen Inhalten hat, ebenso mit zu vielen Datensätzen. Hier greift ersteres Problem.

    Code:
    Bei meinem Excel 2013 (32 bit) (und ziemlich sicher älteren Versionen) fliegt der Code zuverlässig bei i = 256 in Zeile 2 (beim ersten Transpose) ab. Wäre interessant, ob sich das in anderen (neueren) Versionen anders verhält.

    Wendet man die Transpose-Funktion als Arbeitsblattfunktion an, passiert...
    Code:
    ...nix. Der Code läuft anstandslos bis in alle Ewigkeit.
     
    EarlFred, 24. Mai 2020
    #29
  15. \@EarlFred: Der erste Code läuft in Excel 365 fehlerfrei durch. Scheint da wirklich in den unterschiedlichen Versionen anders abgearbeitet z uwerden.
     
    ReginaR, 24. Mai 2020
    #30
Thema:

255 Zeichen bei Übergabe von TextBox an Zelle

Die Seite wird geladen...
  1. 255 Zeichen bei Übergabe von TextBox an Zelle - Similar Threads - 255 Zeichen Übergabe

  2. Access - SQL: Inhalt auf 255 Zeichen beschränkt

    in Microsoft Access Hilfe
    Access - SQL: Inhalt auf 255 Zeichen beschränkt: Hallo zusammen, in Access habe ich ein Modul mit folgender Funktion: Public Function SQLListe(Nummer As Long) As String Dim strSQL As String Dim rs As DAO.Recordset strSQL = "SELECT Dokument...
  3. ZÄHLENWENN mit mehr als 255 Zeichen

    in Microsoft Excel Hilfe
    ZÄHLENWENN mit mehr als 255 Zeichen: Hallo zusammen, ich habe eine Tabelle mit Datensätzen und eine Tabelle mit Solldaten. Ich möchte wissen ob die Solldaten in der Tabelle mit den Datensätzen vorhanden ist. Dies mache ich indem ich...
  4. Access kürzt Memo Datenfelder bei TransferSpreadSheet nach 255 Zeichen

    in Microsoft Access Hilfe
    Access kürzt Memo Datenfelder bei TransferSpreadSheet nach 255 Zeichen: Hallo zusammen, mich beschäftigt seit zwei Tagen ein Problem für das ich keine richtige Lösung finde. Vielleicht hat einer von euch gleiche Probleme oder sogar eine Lösung. Ich möchte über den...
  5. Long Text schneidet bei 255 Zeichen ab

    in Microsoft Access Hilfe
    Long Text schneidet bei 255 Zeichen ab: Hallo Forum, ich habe ein Feld, welches ich auf Long Text (englische Version) definiert habe. Wenn ich in diesem Feld per Tastatur mehr als 255 Zeichen eingebe, werden diese Zeichen einfach...
  6. CSV-Export beschneidet MEMO-Felder auf 255 Zeichen

    in Microsoft Access Hilfe
    CSV-Export beschneidet MEMO-Felder auf 255 Zeichen: Ich habe mir eine Abfrage erstellt die unter anderem Memofelder (In 2013 nun Langer Text) beinhalten. In der Abfrage habe ich jedoch eine eigene Feldbezeichnung erstellt die dann den Inhalt des...
  7. Textfeld mit mehr als 255 Zeichen anzeigen (SQL-Server)

    in Microsoft Access Hilfe
    Textfeld mit mehr als 255 Zeichen anzeigen (SQL-Server): Hallo Gemeinde! Ich habe mir ein kleines Formular erstellt zum Kreieren einer Mail. Dieses Formular beinhaltet mehrere Textfelder, z.B. für die Mailadresse, den Betreff, oder auch für den...
  8. Seriendruck: Datenimport aus Excel max. 255 Zeichen

    in Microsoft Word Hilfe
    Seriendruck: Datenimport aus Excel max. 255 Zeichen: Hallo zusammen, sicher kein neues Problem - aber vielleicht gibt's ja eine Lösung: Ich arbeite mit Office 2007. Word-Seriendruckdokument - verknüpft mit einer Excel-Datenbank. In der...
  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