Office: Text/Zahl in Zahl umwandeln

Helfe beim Thema Text/Zahl in Zahl umwandeln in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo! ich weiß dies ist eine viel gestellte Frage, aber ich habe trotzdem so meine Probleme! Ich will eine Reihe von Zahlen in Excel der größe nach... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von LALE, 6. Mai 2009.

  1. LALE Erfahrener User

    Text/Zahl in Zahl umwandeln


    Hallo!
    ich weiß dies ist eine viel gestellte Frage, aber ich habe trotzdem so meine Probleme!
    Ich will eine Reihe von Zahlen in Excel der größe nach sortieren, muss aber vorher festlegen dass der gesamte inhalt eine Zahl ist.

    Das klappt so per Hand auch super und ohne Probleme, aber sobald ich das in mein Makro einbette funktioniert es nicht mehr.
    Während das Makro aufzeichnet klappt alles noch suppi, aber wenn ich es dann ablaufen lasse klappt das nicht mehrText/Zahl in Zahl umwandeln :(

    kann mir jemand helfen??
    Danke
     
    LALE, 6. Mai 2009
    #1
  2. schatzi Super-Moderator
    Hallo!

    Wie sehen denn deine Werte aus?
    Wie sieht denn dein Makro aus?
    Wie soll denn das gewünschte Ergebnis aussehen?
    Ein paar mehr Infos wären schon schön...
     
    schatzi, 6. Mai 2009
    #2
  3. LALE Erfahrener User
    Hallo!
    Also ich habe eine Textdatei in Excel eingelesen die aus Zahlen und Text durcheinander besteht.
    Das Makro sucht nach einem bestimmten wort in der langen reihe und kopiert die dazu gehörige Zahl in eine andere Spalte.
    Bei der Zahl handelt es sich um positive und Negative Temperatur Angaben, die nach der Größe sortiert werden sollen. Mein Sortier-Makro sieht so aus:

    Range("C2:D14").Select 'Auswahl der zu sortierenden Werte
    Selection.Sort Key1:=Range("C2"), Order1:=xlAscending, Header:=xlGuess, _
    OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
    DataOption1:=xlSortTextAsNumbers

    Range("D2:D14").Select 'sortierte Zahlen kopieren
    Selection.Copy
    Range("E1").Select
    ActiveSheet.Paste
    Application.CutCopyMode = False


    Bring es Dir mehr wenn ich dass kopmplette MAkro angebe?
     
    LALE, 7. Mai 2009
    #3
  4. Exl121150 Erfahrener User

    Text/Zahl in Zahl umwandeln

    Hallo LALE,

    ich habe zuerst einmal die Selection-Objekte entfernt, denn diese zwingen Excel, die aktuelle Markierung jedesmal neu zu setzen, was ein relativ langsamer Vorgang ist (der Makrorekorder hat leider diese Vorliebe).

    Was mir sofort aufgefallen ist, dass Du in der Sortiermethode beim Parameter 'Header' die Einstellung 'xlGuess' verwendest. Das bewirkt, dass Du es Excel überlässt, ob die 1. Zeile des Sortierbereichs eine Überschrift enthalten soll oder nicht. Dadurch verlierst Du die Kontrolle über die Sortierung. Ich habe angenommen, dass die Kopfzeile in C1:D1 enthalten ist und in C2:D14 ausschließlich Daten: deshalb die Umstellung auf 'xlNo', andernfalls wäre es 'xlYes'.

    Der Parameter 'OrderCustom' (=1) bewirkt, dass Excel in der 1. benutzerdefinierten Sortierliste nachschaut und die Werte der Sortierspalte (C2:C14) nach dieser Reihenfolge sortieren möchte. Findet es Werte, die in der 1. benutzerdef. Sortierliste nicht festgelegt sind, sortiert es nach allgemeinen Sortierreihenfolgen.

    MatchCase:=False bedeutet, dass für die Sortierung die Klein/Großschreibung (von Buchstaben) ignoriert wird.

    Der Parameter 'Orientation' bewirkt eine spaltenweise (xlSortColumns) Sortierung, während xlSortRows eine zeilenweise Sortierung bewirkt. Da der numerische Wert für xlSortColumns und für xlTopToBottom =1 ist, hat diese Änderung keine Auswirkung.

    Der Parameter 'DataOption1' mit der Einstellung 'xlSortTextAsNumbers' bewirkt, dass Text, der aus Zahlen besteht, in der Zahlenreihenfolge sortiert wird, zB. {"9","99","100"} und nicht als {"100","9","99"}

    Code:
    Sub Sortierung()
      Range("C2:D14").Sort Key1:=Range("C2"), Order1:=xlAscending, Header:=xlNo, _
      OrderCustom:=1, MatchCase:=False, Orientation:=xlSortColumns, _
      DataOption1:=xlSortTextAsNumbers
      
      Range("D2:D14").Copy Destination:=Range("E1")
    
    End Sub
     
    Exl121150, 7. Mai 2009
    #4
  5. LALE Erfahrener User
    Hallo Exl121150 !
    Ich habe dein Sortiercode ausprobiert aber es macht immernoch die gleichen Fehler.

    Die werte sind von dieser Reihenfolge:
    -12,5
    42,5
    22,5
    27,5
    32,5
    37,5
    17,5
    -7,5
    -2,5
    2,5
    7,5
    12,5
    47,5

    in diese Sortiert worden:
    12,5
    -12,5
    17,5
    2,5
    -2,5
    22,5
    27,5
    32,5
    37,5
    42,5
    47,5
    7,5
    -7,5

    Ich erkenne da kein Muster oder so, dass ich den Fehler finden könnte!!

    Die Zahlen die oben aufgeführt sind stehen in C2:C14. In D2:D14 stehen die zu der Temperatur gehörigen Dehnungen die mit der entsprechenden temperatur die Positionen ändern. Das klappt auch soweit ganz gut, wenn die reihenfolge der Temp stimmen würdeText/Zahl in Zahl umwandeln :(

    Noch irgendeinen Vorschlag?
     
    LALE, 7. Mai 2009
    #5
  6. schatzi Super-Moderator
    Hallo!

    Wenn das tatsächlich dein Sortier-Ergebnis ist, dann liegt die Vermutung nahe, dass es sich nicht um "echte" Zahlen handelt. Sind da möglicherweise noch irgendwelche Leerzeichen o.ä. in den Zellen?
    Bei mir sortiert Excel deine Werte wunschgemäß...
     
    schatzi, 7. Mai 2009
    #6
  7. Exl121150 Erfahrener User
    Hallo LALE,

    1) kann es sein, dass Deine Zahlen im Bereich C2:C14 folgendermaßen gespeichert sind:
    als Text und mit deutschem Kommastrich als Dezimalzeichen.
    2) Damit DataOption1:=xlSortTextAsNumbers funktioniert, müssen die Werte in C2:C14, wenn sie als Text gepeichert sind, mit einem englischen Kommapunkt als Dezimalzeichen ausgestattet sein.
    3) Sind die Werte in C2:C14 als Zahlen gepeichert, dann funktioniert alles (denn dann ist die deutsche Zahlendarstellung eine reine Monitoranzeigerei und hat mit der internen Speicherung nichts zu tun).

    4) Um nun die automatische Konversion von der Textspeicherung der Zahlen in C2:C14 in die Zahlenspeicherung durchzuführen, habe ich das Makro um eine Konversionsschleife erweitert:

    Code:
    Sub Sortierung()
      Dim Zelle As Range
      For Each Zelle In Range("C2:C14").Cells
        Zelle.Value = CDbl(Zelle.Value)
      Next Zelle
      Range("C2:D14").Sort Key1:=Range("C2"), Order1:=xlAscending, Header:=xlNo, _
      OrderCustom:=1, MatchCase:=False, Orientation:=xlSortColumns, _
      DataOption1:=xlSortTextAsNumbers
      
      Range("D2:D14").Copy Destination:=Range("E1")
    
    End Sub
     
    Exl121150, 7. Mai 2009
    #7
  8. LALE Erfahrener User

    Text/Zahl in Zahl umwandeln

    Also ich sehe keine Leerzeichen....
    Könnte evt. vorher ein fehler passiert sein....?
    Excel kopiert mir die gesuchten Zelleninhalte z.B

    1Pb_12,5

    Dann ersetzt das Makro 1Pb_ durch "NIX". Kann es sein das da ein Fehler drinn steckt?

    Cells.Replace What:="1Pb_", Replacement:=""

    Ich weiß ja das die Werte kein "echten" Zahlen enthält sondern als Text gespericherte Zahlen..... aber ich dachte der Befehl

    DataOption1:=xlSortTextAsNumbers

    löst das problem indem Excel die Zahlen als Zahlen festlegt......

    Bin ratlos.....
     
    LALE, 7. Mai 2009
    #8
  9. LALE Erfahrener User
    Ich bin immer wieder erstaunt, was ihr alles zustande kriegt:)
    Ich hoffe ich kann das hier irgendwann durch ein klugen beitrag meinerseits wieder gut machen.....

    Es klappt! Die Diplomarbeit kann weitergehen;)

    DANKE!!!
     
    LALE, 7. Mai 2009
    #9
  10. Exl121150 Erfahrener User
    Hallo LALE,

    ich habe nirgendwo in meinem vorigen Posting das Wort Leerzeichen gebraucht. Hast Du mein Makro ausprobiert, ob es funktioniert?
     
    Exl121150, 7. Mai 2009
    #10
  11. LALE Erfahrener User
    Unsere Antworten haben sich etwas überschnitten!!
    Deswegen jetzt nochmal:
    Viele Dank es funktioniert bestens mit deiner Forschleife:=)
    Keine Verbesserungswünsche mehr;)
    DANKE
     
Thema:

Text/Zahl in Zahl umwandeln

Die Seite wird geladen...
  1. Text/Zahl in Zahl umwandeln - Similar Threads - Text Zahl Zahl

  2. Während der Eingabe überprüfen ob Zahl oder Text

    in Microsoft Access Hilfe
    Während der Eingabe überprüfen ob Zahl oder Text: Hallo, wenn ich in einem Zahlenfeld einen Text eingebe erfolgt folgende Meldung [ATTACH] Wie kann ich die Meldung abfangen um eine eigene Meldung auszugeben? Das Zahlenfeld ist mit 0 vor belegt...
  3. Text nach Zahl trennen

    in Microsoft Excel Hilfe
    Text nach Zahl trennen: Hallo Excel Freaks ich habe in der Spalte a : Leiste massiv Eiche Classic Glatt geschliffen Keine Spachtelung 2350 x 60 x 16 Leiste massiv Eiche Classic Glatt geschliffen Keine Spachtelung 2350...
  4. DATEDIF Ergebnis

    in Microsoft Excel Hilfe
    DATEDIF Ergebnis: Hallo, ich bitte um Hilfe bei DATEDIF z. B. =DATEDIF(Anfangsdatum;Enddatum;"Y") ergibt zB. 8 in derZelle. Ich möchte aber, dass in einer Zelle 8 Jahre steht. Was muss hier hinter "Y" noch...
  5. Text aus einer Zelle in Zahl umwandeln

    in Microsoft Excel Hilfe
    Text aus einer Zelle in Zahl umwandeln: Hallo, ich habe ein kleines Problem mit Zellen, die offenbar Text enthalten, aber in Zahlen umgewandelt werden sollen. Und zwar steht z.B. in A2: 36.7 ° C und in A3: 27.12.2023 12:58 In A4: 36.7...
  6. Zelle mit Text und Zahlen aufteilen

    in Microsoft Excel Hilfe
    Zelle mit Text und Zahlen aufteilen: Hallo, gibt es eine Möglichkeit eine Zelle (A2 und A3) aufzuteilen? Die Zelle enthält Text und Zahlen und sollten wie in der Mustertabelle ab Spalte B bis Spalte G aufgeteilt werden. Ist das...
  7. Makro/VBA Text in Zahl umwandeln

    in Microsoft Excel Hilfe
    Makro/VBA Text in Zahl umwandeln: Hallo liebes Forum, ich habe eine Frage und bin bisher leider nicht so wirklich fündig geworden :oops: Aber ich bin mir sicher, dass ich hier Hilfe bekomme *;)* In meiner Arbeitsdatei sind...
  8. Text in Zelle mit Punkt und Komma in Zahl umwandeln

    in Microsoft Excel Hilfe
    Text in Zelle mit Punkt und Komma in Zahl umwandeln: Hallo, wie kann ich wenn in A1 1.200,000 steht, das in Zahl umwanden ? Hab es mit der Formel =WECHSELN(A1;",";",")*1 probiert, geht nicht. Jemand ein Idee ? Danke
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden