Microsoft Excel

Herbers Excel/VBA-Archiv

Führende Nullen entfernen


Betrifft: Führende Nullen entfernen
von: Peter
Geschrieben am: 15.04.2019 11:26:46

Hallo VBA-Helfer,
ich bekomme eine Datei aus einem Vorsystem und da enthalten die Datensätze teilweise führende Nullen in unterschiedlicher Form. Mit dem bestehenden Makro klappt das auch, außer für die Konstellation in Zeile 8 bzw. 9 im Beispiel. In Zeile 8 bzw. 9 kann die Anzahl der Nullen unterschiedlich sein, im Beispiel sind es 9 Nullen, es können aber auch weniger sein, dafür ist die Ziffernfolge dann länger (z.B.:000000999123456789)
Kann mir bitte jemand den Code dafür ergänzen.
Besten Dank im Voraus.
Grüße Peter

http://www.herber.de/bbs/user/129151.xlsm

  

Betrifft: AW: Führende Nullen entfernen
von: Matthias L
Geschrieben am: 15.04.2019 11:44:40

Hallo Peter

Hinweis!

Leg Dir mal eine Schaltfläche auf deine Tabelle und weise ihr Dein Makro zu.
Nun klicke mal mehrfach darauf!

Ich glaube nicht das das so gewollt ist, oder?
Ich lass den Beitrag offen.

Gruß Matthias


  

Betrifft: AW: Führende Nullen entfernen
von: Daniel
Geschrieben am: 15.04.2019 11:44:44

Hi
bei einer variablen Anzahl von führenden Nullen könntest du die "0" durch das Leerzeichen ersetzen.
die Leerzeichen zu beginn des Textes kannst du dann mit LTRIM entfernen.
Dann wieder die Leerzeichen in "0" zurücktauschen.

For j = 2 To LZ
    If ws.Cells(j, 1).Value = "YYYP" Or ws.Cells(j, 1).Value = "YYYN" Or ws.Cells(j, 1).Value =  _
"YYYM" Then
        ws.Cells(j, 2).Value = "'" & Replace(LTrim(Replace(ws.Cells(j, 2), "0", " ")), " ", "0") _

    End If
Next j
das ganze geht natürlich nicht so einfach, wenn die Zeichenfolgen im auch Leerzeichen enthalten können.
Dann wären zwei zusätzlichliche Replace-Vorgänge erforderlich, um zuerst die regulären Leerzeichen durch ein anderes Zeichen auszutauschen und dann wieder zurück (sonst werden auch die regulären Leerzeichen in "0" gewandelt)

das "'" & dient ist dazu da, dass die Werte Texte bleiben, auch wenn sie wie Zahlen aussehen (Excel würde sonst diese WErte in Zahlen wandeln)

Gruß Daniel


  

Betrifft: AW: Führende Nullen entfernen
von: Peter
Geschrieben am: 15.04.2019 12:06:13

Hallo Matthias, ja mehrfach geht nicht, das ist mir klar. Ist aber ok, da nur ich selbst diese Daten aufbereite. Trotzdem besten Dank für Deinen Hinweis.

@ Daniel: ich habe Deinen Code etwas modifiziert in mein Makro eingebaut und es funktioniert.
Besten Dank auch an Dich.
Gruß Peter


  

Betrifft: AW: Führende Nullen entfernen
von: UweD
Geschrieben am: 15.04.2019 12:05:26

Hallo

so??


Sub Nullen()

    Dim j As Integer
    Dim LZ As Integer
    Dim ws As Worksheet, TMP
    
    Set ws = ActiveSheet
    LZ = ws.Cells(Rows.Count, 1).End(xlUp).Row
    For j = 2 To LZ
        If ws.Cells(j, 1).Value = "YYYP" Or ws.Cells(j, 1).Value = "YYYN" Or ws.Cells(j, 1).Value = "YYYM" Then
            TMP = ws.Cells(j, 2).Value
            If InStr(TMP, " ") > 0 Then
                TMP = Split(TMP, " ")
                ws.Cells(j, 2).Offset(0, 1).Value = CLng(TMP(0)) & TMP(1)
            Else
                ws.Cells(j, 2).Offset(0, 1).Value = CLng(TMP)
            End If
        End If
    Next j
    
End Sub

LG UweD


  

Betrifft: AW: Führende Nullen entfernen
von: UweD
Geschrieben am: 15.04.2019 12:07:46

Das Leerzeichen fehlt noch...


ws.Cells(j, 2).Offset(0, 1).Value = CLng(TMP(0)) & " " & TMP(1)


  

Betrifft: Ihr seid alle Klasse !!!
von: Peter
Geschrieben am: 15.04.2019 13:32:25

Hallo Uwe, Dein Ansatz funktioniert auch, kann ich an anderer Stelle sehr gut gebrauchen.
Auch Dir besten Dank.
Gruß Peter


  

Betrifft: AW: Führende Nullen entfernen
von: Günther
Geschrieben am: 15.04.2019 14:02:11

Moin Peter,
das sollte sich auch mit Power Query lösen lassen.
Da ich aber keine VBA-verdächtigen Files aus dem Netz lade, kann ich es nicht prüfen ...

Gruß
Günther


  

Betrifft: AW: Führende Nullen entfernen
von: Daniel
Geschrieben am: 15.04.2019 14:30:59

Hi Günther
naja, ein Paar Texte die mit "0" anfangen, solltest du dir auch selber hinschreiben können.
aber als Service für dich:
http://www.herber.de/bbs/user/129155.xlsx
dafür hätte dann aber gerne eine nachvollziehbare Beschreibung der anzuklickenden Menüpunkte, um das Ergebnis zu erhalten.
Danke, Daniel


  

Betrifft: AW: Führende Nullen entfernen
von: Günther
Geschrieben am: 15.04.2019 14:52:02

Moin Daniel,
die Zeiten, wo ich abgetippt habe und dann oft genug auf der Nase gelandet bin, die sind vorbei ...
Und das beste Beispiel ist (wieder einmal) de aktuelle Thread. Der einzig offen sichtbare Wert ist "000000999123456789" und da ist es ja auch mit plain Excel kein Problem. ;-) Hier sind ja in der richtigen Welt (Mappe) so nette "Kleinigkeiten" wie "000000000727239210 IU19086" drin, also mit alphanumerischen Zeichen. - Wie gesagt, "unverhofft kommt oft ..."

Spalte Datensatz duplizieren
Kopie -> Spalte teilen, Ziffer zu nicht Ziffer
Kopie.1 -> Datentyp Ganze Zahl
Kopie.1 & Kopie.2 -> Spalten zusammenführen
F R E U E N

Muster-File auf Wunsch in meiner DE-Cloud bis zum 25.04.2019.

Gruß
Günther


  

Betrifft: AW: Führende Nullen entfernen
von: Daniel
Geschrieben am: 15.04.2019 15:22:06

Hi
ich kann, wenn dich versuche deine Anleitung auf die Beispieldatei anzuwenden, bei "Spalte teilen" kein "Ziffer zu Ziffer" auswählen, sondern nur "nach Trennzeichen" oder "anzahl Zeichen".
"Ziffer zu nichtziffer" wird da nicht angeboten.
ein eindeutiges Trennzeichen gibt es ja nicht. Die Anzahl der Nullen ist ja auch unterschiedlich.
kannst du da bitte nochmal draufschauen.
Gruß Daniel


  

Betrifft: Kopie -> Spalte teilen, Ziffer zu nicht Ziffer !!
von: robert
Geschrieben am: 15.04.2019 15:28:55




  

Betrifft: würde ich ja gerne, wenn PQ mir diese
von: Daniel
Geschrieben am: 15.04.2019 15:46:27

Option anbieten würde.
ich sehe nur das. In der Haupmenüfunktion Spalte teilen bekomme ich die gleichen Optionen zur Auswahl.
wo finde ich "Ziffer zu nicht Ziffer"



Gruß Daniel


  

Betrifft: AW: würde ich ja gerne, wenn PQ mir diese
von: Günther
Geschrieben am: 15.04.2019 16:22:38

Stimmt,
ich habe mal eben bei meiner 2016er Version nachgesehen und siehe da ... Wie ich sehe, sehe ich nichts. Scheinbar ist das erst ab der 2019er Version integriert. Hier sind einfach einmal die "echten" 2019er gefragt, ob sie das erweiterte Menü sehen. Es kann nämlich sein, dass MS auf irgendwelchen Umwegen "merkt", dass ich auch noch eine 365er Version habe; da wird ja fleißig geupdated (welch Wortungetüm).

Der M-Code, der hinter dieser Funktionalität steckt, scheint nicht in der 16er Version laufen ...
Habe das File eben mal rüber kopiert, in den Quelldaten eine Änderung vorgenommen und dann ein Update gemacht. Mecker ... :-(

Wieder etwas schlauer geworden; mal sehen, wann/ob MS das 2016er (und evtl. auch früher) updatet ...

Gruß
Günther


  

Betrifft: Spalte teilen anklicken... Gruß
von: robert
Geschrieben am: 15.04.2019 16:47:57




  

Betrifft: Sorry, Daniel-hast Du ja gemacht...dann ????
von: robert
Geschrieben am: 15.04.2019 16:53:03




  

Betrifft: ja robert, was dann, was dann?
von: Daniel
Geschrieben am: 15.04.2019 17:32:29

(womit sich mein eindruck, den ich von dir habe, mal wieder bestätigt findet)


  

Betrifft: was bedeutet ein Fragezeichen ? - Du ........
von: robert
Geschrieben am: 15.04.2019 18:00:57

..lass mich lieber nicht schreiben, welchen Eindruck ich von Dir habe.......


  

Betrifft: AW: was bedeutet ein Fragezeichen ? - Du ........
von: Daniel
Geschrieben am: 15.04.2019 18:06:09

Robert, schreib mal lieber ein paar inhalte statt nichtssagende Betreffzeilen.
Günter scheint plan von der Sache zu haben, also würde dich bitten, dich einfach rauszuhalten, wenn du nichst hilfreiches beizutragen hast.
Danke


  

Betrifft: dann lies mal alles,nicht nur Betreff..
von: robert
Geschrieben am: 15.04.2019 18:54:47

..und Günther - ja -ist ein guter Mann bei Power Query, aber haben seine
Beiträge dir geholfen?

Mach doch mal was selber-zB.Neuinstallation des AddIn oder googeln..

Und wem ich was und wie schreibe kannst DU mir nicht vorgeben-merk dir das.


  

Betrifft: mehr als deine.
von: Daniel
Geschrieben am: 15.04.2019 19:01:03

...


  

Betrifft: OT: Featurenachrüstung in ServicePacks ...
von: lupo1
Geschrieben am: 15.04.2019 19:29:58

... gab es seit jeher selten. Es ging meist nur um Fehlerbehandlung - Ausnahmen mögen diese Regel bestätigen.

Beispiel:

Da es xl2019 vermutlich im Oktober 2018 schon gab, wird sogar xl2019 nicht die {}-Erkennung in dem Umfange haben bzw. bekommen, die genau dann in xl365 eingeführt wurde.

Technisch sind einige Nachrüstungen vermutlich auch nicht möglich, da ein Programm wie Excel im Code dafür zuviele Abhängigkeiten haben könnte.

Daher sind die heutigen Kauf-Versionen nur noch "Freezes" eines Abo-Zeitpunkts, z.B. xl2019 im August 2018 (gemutmaßt).


  

Betrifft: Korrektur...
von: robert
Geschrieben am: 15.04.2019 15:38:15

Nach Wechsel von Ziffer zu Nicht-Ziffer


  

Betrifft: AW: Führende Nullen entfernen
von: Günther
Geschrieben am: 15.04.2019 15:41:34

Wenn du Excel 2010/13 hast kann es sein, dass du nicht das neueste Update hast. Ich habe diese Möglichkeit auch erst vor kurzer Zeit entdeckt (2016/19 mit automatischem Update). Vielleicht hilft bei den Add-In - Versionen ein Update?

Bilde dich hier: ;-)

Gruß
Günther


  

Betrifft: AW: Führende Nullen entfernen
von: Daniel
Geschrieben am: 15.04.2019 18:03:15

Hi
das ist meine Version mit Excel 2010
Version: 2.59.5135.201 32 Bit
da kommen nur die ersten beiden Optionen, die restlichen nicht.
Gruß Daniel