Top-Themen

Aktuelle Themen (A bis Z)

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

Vba skript zum einlesen von textdateien in excel tabellen

Mitglied: dedalus2011

dedalus2011 (Level 1) - Jetzt verbinden

15.04.2012, aktualisiert 19:15 Uhr, 5024 Aufrufe, 5 Kommentare

Hallo,

es sollen mehrere Zahlen aus einer textdatei in einer excel tabelle eingefügt werden. es klappt soweit, dass alle zahlen (mit tausendtrennzeichen oder kommatrennzeichen) korrekt in der tabelle geschrieben werden, bis auf einem bestimmten zahlenformat. Alle Zahlen die mit [1-9] anfangen und gefolgt von einer Komma sind werden beim einfügen in der entsprechenden zelle automatisch umgewandelt (z.B. 3,0195 -> 301.950 )

In vba skript habe ich folgendes probiert:

1)
01.
 wksZ.Cells(Cell1+ 2, Cell2 + 1).Value =Replace(3,0195, "0,", "0.", 1, 1, 2) 
2)
01.
 For Each xCell In Selection 
02.
       xCell.Value = xCell.Value 
03.
    Next xCell 
3)
01.
  Cells.NumberFormat = "" 
Klappt aber nicht

Für alle anderen Zahlenformate schon (0 gefolgt von einer komma, 2 oder mehrere Zahlen gefolgt von einer komma etc).

Mit folgendem Ausdruck konnte ich die Zeilen identifizieren, die automatisch konvertiert werden

01.
 if RegexContains(Array(Values), "^([1-9])(,)") = True Then  
02.
wksZ.Cells(Cell1+ 2, Cell2 + 1).Value = " ' " + Array(Values) 
- hier werden die Zahlen zunächst im stringformat in der excel tabelle importiert

Habe dann mit

01.
 For Each xCell In Selection 
02.
       xCell.Value = xCell.Value 
03.
    Next xCell 
probiert, um die Strings wieder in Zahlenformat zu konvertieren, die Strings werden aber dann wieder falsch formatiert (z.B. 3,0195 -> 301.950 )

Freue mich über jeden Hinweis

Grüße
dedalus2011
Mitglied: mak-xxl
15.04.2012 um 19:24 Uhr
Moin dedalus2011,

Zitat von dedalus2011:
... Alle Zahlen die mit [1-9] anfangen und gefolgt von einer Komma sind [...] automatisch umgewandelt (z.B. 3,0195 -> 301.950 )
01.
 wksZ.Cells(Cell1+ 2, Cell2 + 1).Value =Replace(3,0195, "0,", "0.", 1, 1, 2) 

In der Zeile, wo der String eingelesen wird, der angenommen in der Variable 'strToken' steht, dann passiert das bei Dir etwa so:

wksZ.Cells(Zeile, Spalte).Value = strToken          ' das Einlesen eines Strings
Das müsste geändert werden in:

wksZ.Cells(Zeile, Spalte).Value = CDbl(strToken)    ' das Einlesen eines in ein Zahlenformat gewandelten Strings
Der Typ der Wandlung ist Dir freigestellt (siehe VBA-Hilfe). Nachträgliches Ändern bringt da aber wenig (wenn also das Kind schon in den Brunnen gebrochen ...)

Freundliche Grüße von der Insel - Mario
Bitte warten ..
Mitglied: dedalus2011
15.04.2012 um 19:56 Uhr
Moin mak-xxl,

klappt leider nicht..Gibt die ganze Zahl raus (in dem Fall wäre das eine "3" statt "3,0195") . Habe auch CDbl(" ' " & (Array(Values)) probiert. Dann kommt der "Type mismatch Error". und ich habe das gleiche Problem wie früher..

Grüße

dedalus2011
Bitte warten ..
Mitglied: mak-xxl
15.04.2012 um 20:03 Uhr
Moin dedalus2011,

um das Problem einzukreisen, versuche vor dem Einlesen ein

MsgBox CDbl(strToken)
Wenn hier auch ein Fehler erzeugt wird, dann poste bitte den Inhalt der Variable in diesem Moment.

Freundliche Grüße von der Insel - Mario
Bitte warten ..
Mitglied: dedalus2011
15.04.2012 um 20:11 Uhr
Moin mak-xxl,

kommt 3,01950 raus. D.h. der Wert wird in der Tabellenzelle umgewandelt (3,01950 -> 3), wie oben beschrieben.

Grüße

dedalus2011
Bitte warten ..
Mitglied: mak-xxl
15.04.2012 um 20:20 Uhr
Zitat von dedalus2011:
kommt 3,01950 raus. D.h. der Wert wird in der Tabellenzelle umgewandelt (3,01950 -> 3), wie oben beschrieben.

Du schriebst erst, da käme ein Fehler - ja, bei dem Array-Konstrukt mit vorgeschaltetem Hochkomma ...

Die soeben beschriebene 'Umwandlung' rührt daher, dass die Zelle das falsche Format hat (evtl. Ganzzahl) - hier solltest Du entsprechend formatieren.

Freundliche Grüße von der Insel - Mario
Bitte warten ..
Ähnliche Inhalte
VB for Applications
VBA Excel Skript - Hilfe!
gelöst Frage von 133202VB for Applications1 Kommentar

Hallo Ihr, leider habe Schwierigkeiten bei einem alten VBA Skript. Ich habe es mal für Excel in der Schule ...

VB for Applications
Excel VBA HTML-Tabelle auslesen
gelöst Frage von chef1568VB for Applications2 Kommentare

Hallo, ich möchte eine in einer Email eingebundenen HTML-Tabelle auslesen und in einen Array speichern. Hierzu habe ich bereits ...

Microsoft Office

EXCEL VBA Termindaten aus Tabelle Filtern

Frage von t3jxbusMicrosoft Office

Hallo, ich habe hier folgenden Codeblock gefunden für VBA im Excel: Das ganze funktioniert auch soweit super. Ich beschreibe ...

VB for Applications

Excel 2013 VBA Tabellen aufrufen

Frage von Just4fun1990VB for Applications5 Kommentare

Hallo Administrator.de User, ich habe leider folgendes Problem. Und zwar soll Excel bei einem inaktiven Fenster eine Tabelle aufrufen. ...

Neue Wissensbeiträge
Windows 10

USB Maus und Tastatur versagen Dienst unter Windows 10

Erfahrungsbericht von hardykopff vor 13 StundenWindows 103 Kommentare

Da steht man ziemlich dumm da, wenn der PC sich wegen fehlender USB Tastatur und Maus nicht bedienen lässt. ...

Administrator.de Feedback
Update der Seite: Alles zentriert
Information von Frank vor 16 StundenAdministrator.de Feedback11 Kommentare

Hallo User, die größte Änderung von Release 5.8 ist das Zentrieren der Webseite (auf großen Bildschirmen) und ein "Welcome"-Teaser ...

Humor (lol)

WhatsApp-Nachrichten endlich auch per Bluetooth versendbar

Information von BassFishFox vor 1 TagHumor (lol)4 Kommentare

Genau darauf habe ich gewartet! ;-) Der beliebte Messaging-Dienst WhatsApp erhält eine praktische neue Funktion: Ab dem nächsten Update ...

Google Android

Googles "Android Enterprise Recommended" für Unternehmen

Information von kgborn vor 1 TagGoogle Android3 Kommentare

Hier eine Information, die für Administratoren und Verantwortliche in Unternehmen, die für die Beschaffung und das Rollout von Android-Geräten ...

Heiß diskutierte Inhalte
Server-Hardware
Welche Rolle spielt Design bei Enterprise IT Hardware?
Frage von ApolloXServer-Hardware17 Kommentare

Ich arbeite für einen internationalen Elektronikhersteller in der Forschung und meine Aufgabe ist es, Feedback von Nutzern in Hinsicht ...

Windows Netzwerk
WSUS4 und Windows 10 Updates automatisch installieren
Frage von sammy65Windows Netzwerk15 Kommentare

Hallo miteinander, ich habe mit einen neuen WSUS Server aufgesetzt Server 2016 darauf einen aktuellen WSUS. Grund, wir stellen ...

Speicherkarten
Vergessliche USB-Sticks?
Frage von hanheikSpeicherkarten14 Kommentare

Ich habe in den letzten Tagen 500 USB-Sticks mit Bilddateien bespielt. Obwohl ich die Dateien mit größter Sorgfalt kopiert ...

Windows Netzwerk
Backup über WAN
Frage von petereWindows Netzwerk11 Kommentare

Hallo, ich muss aus einem entfernten WAN (synchrone 1Gbit) Daten sichern. Dabei handelt es sich sowohl um wenige große ...