Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1832to1836
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
Inhaltsverzeichnis

0043 anstatt +43

0043 anstatt +43
15.06.2021 15:39:17
Helmut
Einen schönen Nachmittag im Forum, kann mir bei folgenden Code jemand helfen?
  • Dim Speicher As String
    If Not Intersect(Target, Range("M:M")) Is Nothing Then 'reagiert nur in Splate M
    Target.NumberFormat = "@" 'Format als Text
    If Target "" Then 'Code lauft nur wenn Zelle nicht leer ist, sonst Fehler beim loeschen
    Speicher = Target.Value 'die Nummer wird an Variable uebergeben
    Application.EnableEvents = False 'Events ausschalten, sonst laeuft der Worksheet_Change event wieder von vorn los
    Target.Value = "0" & Speicher 'die Null wieder vor die Nummer setzen und einfuegen
    Application.EnableEvents = True 'Events wieder einschalten
    End If
    End If

  • Ich kopiere zb aus dem Inet eine TelNr mit 660123456, dann wird die fehlende 0 hinzugefügt. Kopiere oder gebe ich die TelNr 0660123456 ein, erhalte ich 00660123456. (Das erscheint mir Logisch)
    Nun kopiere oder gebe ich die TelNr +43660123456 ein; Ergebnis lautet: 0+43660123456 (Erschein mir auch logisch)
    Gibt es Jedoch die Möglichkeit das zb +43 oder auch +49 immer gegen "00" ersetzt wird oder wenn ich 0660123456 eingebe, nicht 00660123456 erscheint?
    Besten Dank im voraus, LG Helmut

    11
    Beiträge zum Forumthread
    Beiträge zu diesem Forumthread

    Betreff
    Datum
    Anwender
    Anzeige
    AW: 0043 anstatt +43
    15.06.2021 16:11:52
    Rudi
    Hallo,
    
    Dim Speicher As String
    If Not Intersect(Target, Range("M:M")) Is Nothing Then 'reagiert nur in Splate M
    Target.NumberFormat = "@" 'Format als Text
    If Target  "" Then 'Code lauft nur wenn Zelle nicht leer ist, sonst Fehler beim loeschen
    Speicher = Target.Value 'die Nummer wird an Variable uebergeben
    Select Case Left(Speicher, 1)
    Case "0": 'nix passiert
    Case "+": Speicher = "00" & Speicher
    Case Else: Speicher = "0" & Speicher
    End Select
    Application.EnableEvents = False 'Events ausschalten, sonst laeuft der Worksheet_Change event wieder von vorn los
    Target.Value = Speicher  'die Null wieder vor die Nummer setzen und einfuegen
    Application.EnableEvents = True 'Events wieder einschalten
    End If
    End If
    
    Gruß
    Rudi
    Anzeige
    noch nicht ganz
    15.06.2021 16:33:19
    Helmut
    Servus Rudi, Danke für deine Hilfe, funktioniert leider nicht. Ich gebe +49660123456 ein- Ergebnis = 00+49660123456. Ich kopiere aus dem Inet +49660123456- Ergebnis = 049660123456. (hier gehörten 2 Null). Wenn ich 0660123456 eingebe oder kopiere funktioniert es.
    LG Helmut
    AW: noch nicht ganz
    15.06.2021 23:29:38
    Rudi
    Hallo,
    1.: M:M muss vorher als Text formatiert sein, sonst wird das + automatisch gelöscht.
    2.:
    
    Case "+": Speicher = "00" & Mid(Speicher, 2)
    
    Gruß
    Rudi
    immer noch nicht ganz
    16.06.2021 09:49:50
    Helmut
    Guten Morgen Rudi, es funktioniert immer noch nicht ganz! Vielleicht habe ich die neuerliche Codezeile falsch eingefügt oä.
    Kannst du mir bitte den ganzen Code senden?
    Besten Dank im voraus, LG Helmut
    Anzeige
    AW: immer noch nicht ganz
    16.06.2021 13:11:24
    Rudi
    was ist daran so schwierig?
    
    Dim Speicher As String
    If Not Intersect(Target, Range("M:M")) Is Nothing Then 'reagiert nur in Spalte M
    'Target.NumberFormat = "@" 'Format als Text
    If Target  "" Then 'Code lauft nur wenn Zelle nicht leer ist, sonst Fehler beim loeschen
    Speicher = Target.Value 'die Nummer wird an Variable uebergeben
    Select Case Left(Speicher, 1)
    Case "0": 'nix passiert
    Case "+": Speicher = "00" & Mid(Speicher, 2)
    Case Else: Speicher = "0" & Speicher
    End Select
    Application.EnableEvents = False 'Events ausschalten, sonst laeuft der Worksheet_Change event wieder von vorn los
    Target.Value = Speicher  'die Null wieder vor die Nummer setzen und einfuegen
    Application.EnableEvents = True 'Events wieder einschalten
    End If
    End If
    
    und wie gesagt: M muss vorher schon als Text formatiert sein, da ansonsten das + sofort gelöscht wird.
    Gruß
    Rudi
    Anzeige
    Hiiiiillllffffeeee!!!!!!
    16.06.2021 13:53:10
    Helmut
    Servus Rudi, Zitat:....was ist daran so schwierig?...... Es passt einfach nicht! Habe den neuen Code 1:1 eingefügt, M:M als Text formatiert, die Zellen in Spalte M werden dann automatisch wieder umformatiert! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!Das die Spalte immer als Text formatiert ist, bewirkt dieser Teil des Codes:
    Target.NumberFormat = "@" 'Format als Text
    doch den hast du ja "aus kommentiert". Ich stehe voll am Schlauch!!! Nochmals: Ich gebe oder Kopiere in eine Zelle der Spalte M die TelNr in folgende Formaten ein:
    +43660123456 oder
    +49660123456 oder
    0660123456 (Entweder mit oder ohne Internationale Vorwahl)
    Das Ergebnis sollte dann so aussehen:
    0043660123456 oder
    0049660123456 oder
    0660123456
    Ich gehe davon aus, mich klar und deutlich ausgedrückt zu haben!? LG Helmut
    Anzeige
    AW: Hiiiiillllffffeeee!!!!!!
    16.06.2021 14:29:29
    Rudi
    Hallo,
    Eingabe funktioniert, kopieren nicht.
    Anscheinend wird durch das Kopieren das Format von Text auf Standard geändert, was wiederum bewirkt, dass das + verloren geht.
    Keine weitere Idee.
    Gruß
    Rudi
    Workaround
    16.06.2021 15:12:49
    ChrisL
    Hi
    Ctrl+Alt+V verwenden, anstelle von Ctrl+V
    (PasteSpecial, Werte einfügen)
    cu
    Chris
    AW: Workaround
    16.06.2021 18:45:54
    elvis
    Servus Chris, tut mir leid, verstehe noch weniger als vorher. Lg Helmut
    AW: Workaround
    17.06.2021 09:00:35
    ChrisL
    Hi
    Wenn du Einfügen über die rechte Maustaste machst, dann geht es:
    Inhalte einfügen (statt normalem Einfügen), Werte
    Der Shortcut hierfür ist wie erwähnt Ctrl+Alt+V anstelle von Ctrl+V
    Ausser mit einer Umgehungslösung (Workaround) wie aufgezeigt, sehe ich kaum Chancen das Problem zu lösen.
    cu
    Chris
    Anzeige
    Rudi
    18.06.2021 08:31:35
    Helmut
    Servus Rudi, servus Chris, es gibt eben Probleme die kann man nicht lösen, trotzdem recht herzlichen dank für eure Mühe! LG Helmut

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige