Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

CSV Semikolon getrennt geht in Tabelle aber nicht korrekt bei Datei Öffnung...

Frage Entwicklung VB for Applications

Mitglied: darkunicorn

darkunicorn (Level 1) - Jetzt verbinden

07.09.2010 um 00:32 Uhr, 6213 Aufrufe, 3 Kommentare

Bei manuellem Aufruf funtioniert die Semicolon-Trennung, bei Datei-Öffnung nicht...

Hallo Zusammen,
ich möchte vorweg erwähnen, daß VBA von mir nur sehr spärlich (1-2 mal im Jahr) benötigt wird, sodas ich nicht über DIE Kenntnisse schlechthin verfüge und deshalb an folgendem Punkt scheitere.

Die ursprüngliche Aufgabenstellung war, einen Macro unter Ecxell 2007 zu schreiben, der es dem User ermöglicht die richtige CSV-Datei zu seinem Dokument zusätzlich zu öffnen und Ihm die Arbeit erleichtern sollte. Leider sind meine User nicht sehr bewandert (z.B. Errormessages mit Ja/Nein-Möglichkeit führen zur Frage "Was muss ich hier machen?") und führten dazu die CSV gleich beim öffnen der XLSM-Datei zu öffnen. Hier liegt nun mein Problem. Was innerhalb der Tabelle manuell noch fehlerfrei möglich war, funktioniert hierbei nicht mehr. Alle Zeilen der CSV werden jeweils ohne Semicolon-Trennung/Zeile dargestellt, wohingegen alle Zellen korrekt bei manuellem Aufruf in der Tabelle angezeigt werden. Der verwendete Sub lautet:


Private Sub Workbook_open()

<Formatvorgaben für die XLSM-Datei>

Workbooks.OpenText Filename:=<Pfad- und Dateiname>
With ActiveSheet
.Range(.Cells(1, 1), .Cells(Rows.Count, 1).End(xlUp)).TextToColumns _
DataType:=xlDelimited, Semicolon:=True
End With

End Sub


Wie gesagt, bei einem manullem Aufruf geht es wunderbar, beim "Workbook_open" funktioniert die Semicolon-Trennung nicht mehr.

Irgendwie hab ich hier ein Brett vorm Kopf und hoffe Ihr könnt mir helfen...

Grüße und danke im Vorraus

Alex
Mitglied: 76109
07.09.2010 um 07:44 Uhr
Hallo darkunicorn!

Zitat von darkunicorn:
Wie gesagt, bei einem manullem Aufruf geht es wunderbar, beim "Workbook_open" funktioniert die Semicolon-Trennung nicht mehr.
Bei dieser seltsamen Syntax kein Wunder

Versuchs mal so:
01.
Private Sub Workbook_Open() 
02.
   '..... 
03.
    Workbooks.OpenText Filename:="DateiPfad", DataType:=xlDelimited, Semicolon:=True 
04.
   '..... 
05.
End Sub
Gruß Dieter

PS.
Sorry, hab's mal getestet und per Makro funktioniert das Workbook.OpenText tatsächlich nicht so wie es soll.
Alternativ sollte aber das funktionieren:
01.
Private Sub Workbook_Open() 
02.
   '..... 
03.
    Workbooks.OpenText Filename:="DateiPfad" 
04.
    Columns("A").TextToColumns , DataType:=xlDelimited, Semicolon:=True 
05.
   'ActiveWorkbook.Saved = True  'Abfrage zum Speichern beim Schließen unterdrücken 
06.
   '..... 
07.
End Sub
Bitte warten ..
Mitglied: darkunicorn
07.09.2010 um 23:20 Uhr
Hallo Didi1954,

danke für deine Antwort. Hatte deine ursprüngliche Version als erstes verwendet bevor ich auf die für dich seltsame Syntax kam *g*.

Allerdings nachdem ich dann doch ein paar Stunden Schlaf hatte (wirkt halt dann doch Wunder ) hab ich eine weitere Lösung gefunden.

Ich habe das ganze von der Arbeitsmappe in die Tabelle selbst geschoben und nen Call gesetzt. Zwar zugegeben nicht elegant aber die User sind vorerst zufrieden...

Aber nochmals Danke für dein Bemühen!

Gruß Alex
Bitte warten ..
Mitglied: 76109
08.09.2010 um 07:52 Uhr
Hallo Alex!

Den Import in die Arbeitsmappe würde ich dann in etwa so machen:
01.
Const ImportSheet = "Tabelle1" 
02.
Const ImportDatei = "E:\Test\Import.csv" 
03.
 
04.
Private Sub Workbook_Open() 
05.
    Call CsvFileImport 
06.
End Sub 
07.
 
08.
Private Sub Workbook_BeforeSave(ByVal SaveAsDialog As Boolean, Cancel As Boolean) 
09.
    Sheets(ImportSheet).Cells.ClearContents 
10.
End Sub 
11.
 
12.
Private Sub CsvFileImport() 
13.
    Dim Wks As Worksheet 
14.
     
15.
    Set Wks = Sheets(ImportSheet) 
16.
     
17.
    Wks.Cells.ClearContents 
18.
     
19.
    With Wks.QueryTables.Add(Connection:="TEXT;" & ImportDatei, Destination:=Wks.Range("A1")) 
20.
        .AdjustColumnWidth = True   'Spaltebreite automatisch anpassen 
21.
        .TextFileParseType = xlDelimited 
22.
        .TextFileSemicolonDelimiter = True 
23.
        .Refresh BackgroundQuery:=False 
24.
        .Delete 
25.
    End With 
26.
End Sub
Wobei die Sub CsvFileImport auch in einem Modul mit einer Tastenkombination versehen, stehen könnte.

Gruß Dieter
Bitte warten ..
Neuester Wissensbeitrag
Microsoft

Lizenzwiederverkauf und seine Tücken

(5)

Erfahrungsbericht von DerWoWusste zum Thema Microsoft ...

Ähnliche Inhalte
VB for Applications
Bestimmte Daten aus eine CSV-Datei in eine Excel-Tabelle importieren (2)

Frage von MariaElena zum Thema VB for Applications ...

Batch & Shell
Mehrere.csv Dateien zusammenfügen zu einer Datei mit bat (4)

Frage von Piotrney zum Thema Batch & Shell ...

Batch & Shell
gelöst PS Werte CSV-Datei in AD Attribut (3)

Frage von lupolo zum Thema Batch & Shell ...

Batch & Shell
Mehrere AD Benutzer aus CSV Datei mit PowerShell erstellen (1)

Frage von windelterrorist zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (18)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Windows Netzwerk
Windows 10 RDP geht nicht (16)

Frage von Fiasko zum Thema Windows Netzwerk ...

Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...