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

Frage Entwicklung VB for Applications

Mitglied: dedalus2011

dedalus2011 (Level 1) - Jetzt verbinden

15.04.2012, aktualisiert 19:15 Uhr, 5013 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
Apple

IOS 11.2.1 stopft HomeKit-Remote-Lücke

Tipp von BassFishFox vor 9 StundenApple

Das Update für iPhone, iPad und Apple TV soll die Fernsteuerung von Smart-Home-Geräten wieder in vollem Umfang ermöglichen. Apple ...

Windows 10

Windows 10 v1709 EN murkst bei den Regionseinstellungen

Tipp von DerWoWusste vor 15 StundenWindows 10

Dieser kurze Tipp richtet sich an den kleinen Personenkreis, der Win10 v1709 EN-US frisch installiert und dabei die englische ...

Webbrowser

Kein Ton bei Firefox Quantum über RDP

Tipp von Moddry vor 15 StundenWebbrowser

Hallo Kollegen! Hatte das Problem, dass der neue Firefox bei mir auf der Kiste keinen Ton hat, wenn ich ...

Internet

EU-DSGVO: WHOIS soll weniger Informationen liefern

Information von sabines vor 1 TagInternet4 Kommentare

Wegen der europäische Datenschutzgrundverordnung stehen die Prozesse um die Registrierung von Domains auf dem Prüfstand. Sollte die Forderungen umgesetzt ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
Häufig Probleme beim Anmelden in WLAN
Frage von mabue88LAN, WAN, Wireless15 Kommentare

Hallo zusammen, in einem Netzwerk gibt es relativ häufig (1-2 mal pro Woche) Probleme mit der WLAN-Verbindung. Zunächst mal ...

Windows Server
SMBv1 deaktivieren führte zur Katastrophe, keine Domänenanmeldung mehr
Frage von Freak-On-SiliconWindows Server14 Kommentare

Servus; Habe Mist gebaut. Umgebung: Server 2012R2 Domäne 2x DC ~10 Memberserver (2012R2 und 2008R2) ~100 Windows 8 Clients ...

Windows XP
Windows XP Aktivieren geht nicht
Frage von tetikmiroWindows XP13 Kommentare

Hallo Ich habe einen Windows XP mit einen vCenter Converter umgezogen auf eine ESXI. Soweit funktioniert dies auch ohne ...

Grafikkarten & Monitore
2x 4K Monitore an einer GraKa betreiben
gelöst Frage von JollyJumper83Grafikkarten & Monitore10 Kommentare

Hallo liebe IT-Gemeinde, ich bin auf der Suche nach einer kostengünstigen GraKa für meinen Präsentations-PC. Wir möchten in unserem ...