online 1
gast (50)

/ Forum / Tabellenkalkulation

TabellenkalkulationTabellenkalkulation

Fragevon DerNordBerliner vom 23.02.2020, 00:12 Options

Datenexport aus Excel

Ich muss in einer Tabelle viele Eingaben tätigen lassen, wie Name, Ort, PLZ usw. Das alles ist kein Problem auch der Export in ein anderes Dateiformat ist geklärt.
Nur habe ich unter anderem auch Eingaben zu exportieren, die eine Textlänge von 1500 Zeichen und mehr beinhalten.
In welcher Form bewerkstelligt man dies am besten, immer unter der Berücksichtigung das z.B. mit einem Makro alle Daten aus diesem Textfeld exportiert werden können.

Gruß vom Markus


Antwort schreiben

Antwort 1 von KJG17 vom 23.02.2020, 01:20 Options

Hallo,

diese Frage müsste dir eigentlich die Anwendung beantworten können, mit der diese 'exportierten' Daten dann verarbeitet werden sollen. Der Export erfolgt ja wohl kaum zum reinen Selbstzweck.

Gruß
Kalle

Antwort 2 von DerNordBerliner vom 24.02.2020, 14:22 Options

Hallo Kalle,

die Anwendung in der die Daten dann importiert werden ist nicht das Problem. Diese kann in *.txt oder *.csv oder *.doc sein. Der Export ist aber mein Problem, denn ich möchte bei der Texteingabe weder auf die Entertaste verzichten, diese ist innerhalb verbundener Zeilen nicht aktiv, noch auf unbekannte Exportschleifen, wie ich sie bei Textfeldern benötige.
Deshalb ja meine Frage. Welches ist die beste Möglichkeit einen der Art großen Text innerhalb von Excel zu verabreiten und wie sieht dann der Export aus.

Danke dir trotzdem.

Markus

Antwort 3 von KJG17 vom 24.02.2020, 17:09 Options

Hallo,

die Tabelle von der du spichst, ist also einer Excel-Tabelle und zu jeder erfassten Anschrift gib es auch eine Zelle, die 1500 und mehr Zeichen Text enhalten kann?

Dann sehe ich ein Problem hauptsächlich darin, dass innerhalb dieser umfangreichen Texte auf keinen Fall ein Zeichen vorkommen darf, welches gleichzeitig als Trennzeichen für Spalten verwendet wird.

Bei *.cvs ist das z.B. das Semikolon und wenn das im Original-Text der Zelle vorkommt, werden für diese 'Zeilen' dann zusätzliche 'Spalten' eingerichtet, die den Import in eine andere Anwendung dann über den Haufen schmeißen dürften.

Gruß
Kalle

Antwort 4 von DerNordBerliner vom 24.02.2020, 22:49 Options

Hallo Kalle,
genau aus diesem Grunde ist nun schon einmal das Verbinden mehrerer Zellen zu einer großen Texteingabezelle nicht mehr möglich.
Um genauer zu sein, es handelt sich um eine Eingabetabelle von über 150 Eingaben Diese teilen sich auf in Eingaben in normlen Zellen, in Datumszellen, in Zahlzellen und und und
Aber es ist auch die Eingabe eines langen Textes erforderlich und genau um den geht es.
In welcher Art und Weise kann ich das in Excel einbeziehen und welche Möglichkeit ist der Export dieser Weise?

Gruß Markus

Antwort 5 von KJG17 vom 26.02.2020, 07:51 Options

Hallo Markus,

in einer Zelle kannst du maximal 32767 Zeichen (incl. Leerzeichen) eingeben, das sollte bei den langen Texten also nicht das Problem sein. Mehr als 1024 Zeichen werden allerdings nur in der Bearbeitungszeile, nicht aber in der Zelle angezeigt, das hat aber auf den 'Export' keine Auswirkungen. Wenn es auch ansonsten eine reine Tabelle ohne zusammengefasste Felder (Zellen) ist, müsstest du vor dem Abspeichern im CVS-Format lediglich per 'Suchen/Ersetzen' dafür sorgen, dass sich in keiner deiner Textzellen ein Semikolon befinden kann. Die Ersetzung durch Kommas könnte zwar in den Fällen, wo statt des Doppelpunktes ein Semikolon eingegeben wurde, etwas irritieren, hätte aber ansonsten keine ernsthaften Auswirkungen.

Beim Ersetzen solltest du aber ausdrücklich nur die Spalten mit den Textzellen markieren, in Zellen mit Funktionen könnten sich ja auch Semikola befinden, die sonst ebenfalls ausgetauscht würden. Beim Speichern als CVS würden diese Semikola aber keine Rolle spielen, da nur die von den Funktionen zurückgegebenen Werte gespeichert werden, die natürlich ihrerseits keine Semikola enthalten dürften.

Gruß
Kalle

Antwort 6 von DerNordBerliner vom 26.02.2020, 17:49 Options

Hallo Kalle,
das mit den Zellen hatte ich aber schon am Anfang geschrieben, geht ja nicht. Der Text wird ja nicht nur mit Zeichensetzung eingegeben, es wird ja auch ab und zu mal die Enter-Taste gedrückt, um einen Absatz zu machen. Das geht aber auch in zusammen gefassten Zellen nicht, ODER?

Ich habe inzwischen Textfelder eingefügt, doch wie bekomme ich diese exportiert?

Sheets("TextBox1").Select
Sheets("Textbox1").Copy
ActiveWorkbook.SaveAs Filename:="C:\Text1.txt", FileFormat:= _
xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
, CreateBackup:=False
ActiveWindow.Close

Das geht nicht.
Gruß Markus

Antwort 7 von coros vom 26.02.2020, 18:14 Options

Hallo Markus,

nachfolgend mal ein Makro, wie ich es bei einem Kunden einsetze, um eine CSV-Datei mit Trennzeichen Simekolon ( ; )zu erzeugen. Dabei wird jede Spalte durch das Trennzeichen getrennt. Du musst das Makro allerdings noch etwas auf Deine Gegebenheiten anpassen.

Kopiere das Makro in ein StandardModul und starte es z.B. über eine Befehlsschaltfläche
Teste das Makro aber bitte in einer Testdatei und nicht gleich in Deiner Originaldatei.

[b]    Option Explicit
    
    Option Private Module
    
    Public Datemexport_läuft As Boolean
    
    Dim iRow As Integer
    Dim iCol As Integer
    Dim ExportDatei
    Dim wkb_Datenbank As Worksheet
    Dim sTxt As String
    Dim wsh As New IWshShell_Class
    Dim Exportfile As String
    Dim LastRow As Integer
    
    Sub Cardatenexport_in_CSVDatenbank()
    
45  On Error GoTo ERRORHANDLER
    
47  Datemexport_läuft = True
    
51  Exportfile = Mid(ThisWorkbook.path, 1, Len(ThisWorkbook.path) - 8) & "Datenbanken\" & "Cardatenbank.csv"
    
53  ExportDatei = FreeFile
54  Set wkb_Datenbank = ThisWorkbook.Worksheets("Cardatenbank")
    
56  LastRow = wkb_Datenbank.UsedRange.Rows.Count
    
    'Set wkb_Datenbank = Workbooks("Cardatenbank.csv").Worksheets(1)
66  Open Exportfile For Output As #ExportDatei
    
69  For iRow = 2 To LastRow
73  For iCol = 1 To wkb_Datenbank.UsedRange.Columns.Count
74  sTxt = sTxt & CStr(wkb_Datenbank.Cells(iRow, iCol).Text) & ";"
75  Next iCol
76  sTxt = Left(sTxt, Len(sTxt) - 1)
77  Print #ExportDatei, sTxt
78  sTxt = ""
79  Next iRow
80  Close #ExportDatei
    
   
85  Datemexport_läuft = False
    
    '----------------------------------------------------------------------------------
    'Prozedur beenden
89  Exit Sub
    
    '----------------------------------------------------------------------------------
    'Dieser Bereich wird abgearbeitet, sollte ein Fehler in Code auftretetn. Dann erscheint eine Bildschirmmeldung
ERRORHANDLER:
    Fehlerzeile = Erl
    Fehlerort = "Modul_CSV_Export"
    Fehlerereignis = "Cardatenexport_in_CSVDatenbank"
    Logdatei_erzeugen
    
    MsgBox "Bei dieser Aktion ist ein Fehler aufgetreten. Die Fehlerursache wurde in die Logdatei """ _
    & Logdatei & """ eingetragen. Sollte dieser Fehler häufiger auftreten, so senden Sie bitte die Logdatei """ _
    & Logdatei & """, die sich im Verzeichnispfad " & Chr(10) & Chr(10) _
    & """" & Mid(ThisWorkbook.path, 1, Len(ThisWorkbook.path) - 22) & "log\""" & Chr(10) & Chr(10) _
    & " befindet, als Anhang mit kurzer Fehlerbeschreibung an die E-Mailadresse " _
    & """fehler_CDES@excelbeispiele.de""." & Chr(10) & Chr(10) _
    & "Wichtig! Tragen Sie bitte als E-Mailbetreff den Text ""Fehler im Programm CDES"" ein " _
    & "und geben in der E-Mail für telefonische Rückfragen Ihre Festnetz-Telefonnummer, unter der man Sie " _
    & "erreichen kann, mit an.", vbCritical, "Cartrade24 - Fehlermeldung..."
    
    End Sub
    '####################################################################################################################
[/b]


Bei Fragen dazu melde Dich.

MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du
ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Antwort 8 von DerNordBerliner vom 28.02.2020, 22:49 Options

Hallo Oliver,

vielen Dank für den doch für mich recht umfangreichen Code. Bei mir stiegt das Makro schon im ersten Teil aus:

Dim wsh As New IWshShell_Class

Ich denke mir fehlen mal wieder irgend welche Bibliotheken, kann das sein. Im Objektkatalog ist der Eintrag IWshShell_Class nicht zu finden.

Habe ich Recht oder habe ich Recht?

Übrigens brauchen wir das Exportieren gar nicht so schwer zu machen, mit Semis und so. Es soll nur der reine Text aus einer TextBox1 dann aus der 2 und so weiter bis zur 9 exportiert werden. Das ganze soll dann auf C:\ liegen und Text1.txt....Text9.txt heißen.

Gruß Markus

Antwort 9 von coros vom 29.02.2020, 05:12 Options

Hallo Markus,

die Zeile die angemeckert wird, Kannst Du löschen. Die wird in dem Makro nicht benötigt. Die wurde für ein anderes Maro m gleichen Modul benötigt, das ich hier nicht aufgefhrt habe, da es mit dem Thema nichts zu tun hat. Ich habe mitdem Makro Daten in die Registry geschrieben und dafür wude die Deklaration der Variablen notwendig.


MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du
ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Ähnliche Themen

symbolleisten in excel
luisa  14.01.2007 - 253 Hits - 4 Antworten

Excel schließen (VBA)
Jugo  15.03.2007 - 312 Hits - 1 Antwort

Access Datenexport als Textdatei
ping  30.04.2007 - 248 Hits - 3 Antworten

Datenexport aus Excel, (A1,B1),(A2,B2)...
Wolf-Joseph  19.07.2007 - 112 Hits - 1 Antwort

Excel 2002 Dateien in Excel 2007 für MS Vista Home Premium
1tiggy  09.11.2007 - 180 Hits - 5 Antworten

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Thu Jan 8 21:07:44 2026