Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
704to708
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
704to708
704to708
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Text Import mittels Makro - Zahlen gewünscht

Text Import mittels Makro - Zahlen gewünscht
06.12.2005 12:42:52
Thias
Hallo Forum,
habe hier ein tolles Makro von Heiko S. bekommen. Leider hat er meinen letzten Post wohl nicht mehr gelesen. Die Daten, die mittels diesem Makro importiert werden sollen, sind Zahlen. Nach dem Import ist das Format der Daten jedoch Text. Ich hätte jedoch gerne Zahlen.
Leider kann ich wegen meiner sehr bescheidenen VBA Kenntnisse aus dem Quelltext nicht abstrahieren, was ich ändern muss, um Zahlen statt Text zu erhalten beim importieren duch das Makro.
Vielleicht kann mir einer der Anwesenden Experten helfen?
Gruß Thias
------------------------------------------------------------------------------

Sub TextImportHS()
Dim sFile As String, sText As String
Dim arrInput() As String, arrhelp() As String
Dim intI As Integer
ChDir "H:\EXCEL\Muell"
sFile = "Spalte.txt"
If Dir(sFile) = "" Then
Beep
MsgBox "Datei wurde nicht gefunden!", , "Warnung!"
Exit Sub
End If
Application.ScreenUpdating = False
Open sFile For Binary As #1
sText = Space(LOF(1))
Get #1, , sText
arrInput = Split(sText, vbCrLf)
Close #1
For intI = 0 To UBound(arrInput)
arrhelp = Split(Replace(Replace(arrInput(intI), Chr(9), ";"), ".", ","), ";")
Range(Cells(intI + 12, 2), Cells(intI + 12, UBound(arrhelp) + 2)) = arrhelp
Next intI
Cells.NumberFormat = "@"
Application.ScreenUpdating = True
MsgBox "import complete!", vbInformation, "Hinweis!"
End Sub

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Text Import mittels Makro - Zahlen gewünscht
06.12.2005 13:07:39
UweD
Hallo
Ändere das so:
Cells.NumberFormat = "@"
Cells.NumberFormat = "0" 'für ganze Zahlen oder
Cells.NumberFormat = "0.00" 'für Zahlen mit 2 Nachkommastellen oder
Cells.NumberFormat = "General" 'für Standard
Gruß UweD
(Rückmeldung wäre schön)
AW: Text Import mittels Makro - Zahlen gewünscht
06.12.2005 16:31:58
Thias
Hallo Uwe,
ich bin etwas verwirrt. Also zunächst erstmal: Die Zahlen werden, je nach Eintrag hinter Cells.NumberFormat = ".....", in der angegebenen Formatierung importiert.
Wenn ich das Format der Zellen überprüfe, indem ich auf -Format -Zelle -Reiter "Zahlen" gehe, wird auch das korrekte Format angezeigt, also entweder Zahl, Standard, etc.
Soweit, so gut!
Komischerweise sind jedoch alle Zellen mit einem kleinen, grünen Dreieck makiert. Klicke ich auf eine dieser Zellen, wird ein kleines Ausrufezeichen in einem kleinen, niedlichen Hinweisschild angezeigt, dessen Kontexthinweis mir bei Mausberührung sagt: "Die Zahl in dieser Zelle ist als Text formatiert oder es ist ein Apostroph vorangestellt".
Und im beigestellten Pulldownmenü kann ich die "Text"-Zahl dann auch zu einer "echten" Zahl umwandeln und die kleine, grüne Ecke verschwindet. Und dass, obwohl mir Excel über den Weg -Format -Zelle -Reiter "Zahlen" gleichzeitig sagt, dass die Zelle als Zahl formatiert ist!
Wird da noch zwischen dem Zellenformat und dem Zahlenformat unterschieden? Ich beziehe mich mit einer Min-/Max Funktion auf die importierten Zahlen. Da Excel die importierten Zahlen aber anscheinend immernoch als Text erkennt, findet meine Min-/Max-Funktion keine Werte in den Spalten!
Hast Du da noch einen Rat für mich?
Anzeige
AW: Text Import mittels Makro - Zahlen gewünscht
07.12.2005 07:44:10
Heiko
Hallo Thias,
das mit dem Text in Zahlen umwandeln habe ich auch schon probiert, kriege das aber irgendwie nicht in ein Makro gepresst, darum so. Ist durch den zusätzlichen Befehl halt etwas langsamer.

Sub TextImportHS()
Dim sFile As String, sText As String
Dim arrInput() As String, arrhelp() As String
Dim intI As Integer, intN As Integer
ChDir "H:\EXCEL\Muell"
sFile = "Spalte.txt"
If Dir(sFile) = "" Then
Beep
MsgBox "Datei wurde nicht gefunden!", , "Warnung!"
Exit Sub
End If
Application.ScreenUpdating = False
Open sFile For Binary As #1
sText = Space(LOF(1))
Get #1, , sText
arrInput = Split(sText, vbCrLf)
Close #1
For intI = 0 To UBound(arrInput)
arrhelp = Split(Replace(Replace(arrInput(intI), Chr(9), ";"), ".", ","), ";")
For intN = 0 To UBound(arrhelp)
If IsNumeric(arrhelp(intN)) Then
Cells(intI + 12, intN + 2) = CDbl(arrhelp(intN))
End If
Next intN
Next intI
Cells.NumberFormat = "General"
Application.ScreenUpdating = True
MsgBox "import complete!", vbInformation, "Hinweis!"
End Sub

Gruß Heiko
PS: Rückmeldung wäre nett !
Anzeige
AW: Text Import mittels Makro - Zahlen gewünscht
07.12.2005 09:21:28
Thias
Hallo Heiko,
das Makro funktioniert ganz hervorragend. Und die Ausführungsdauer ist auch okay - damit kann ich ohne Probleme leben. Vielen Dank!
PS: Gibt es hier im Archiv eigentlich iregndwo einen Artikel, wie ich so ein Makro nun einer Schaltfläche oder besser einen Knopf zuweisen kann, damit ich nicht immer ALT-F8 + Makro auswählen + "Ausführen" drücken muss? Die Recherche-Funktion ist ein wenig zickig bei mehrern Suchwörten, habe ich das Gefühl. ;-)
Makro einem Schalter zuweisen
07.12.2005 09:49:26
UweD
Hallo
- Blende dir die "Formular"- symbolleiste ein
- entnimm dort eine Schaltflache
- wenn du diese im TAbellenblatt abgelegt hast, wirst du automatisch nach einem Makro gefragt.
- dieses kannst du aus der Liste auswählen.
Wenn schon eine Schaltfläche oder ein anderes Grafikobjekt eingebaut hast.
- Rechtsclick auf das Objekt und dann Makro zuweisen...
Gruß UweD
(Rückmeldung wäre schön)
Anzeige
AW: Makro einem Schalter zuweisen
07.12.2005 10:16:59
Thias
@Uwe:
Und wieder was gelernt! Super! Ich danke Dir vielmals!

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige