AW: Zellinhalt vor Verlassen in Variable
21.06.2021 12:08:14
MRUTOR
Hallo Thorsten,
danke fuer deine Antwort und sorry, dass ich mich so spaet wieder melde.
Ich habe jetzt alles soweit hinbekommen, wie ich es will. Mit einer Ausnahme. Und zwar geht es hier um Telefonnummern, die in Spalte M eingetragen werden und bearbeitet werden sollen. Es gibt verschiedene Moeglichkeiten. Aber das ist Nebensache. Mein Problem hier ist nun: Ich kopiere eine Nummer mit internationaler Vorwahl mit Strg+C z.B. aus einem Word Doc und beim Einfuegen mit Strg+V in die Excel Zelle geht mir immer das + verloren und die Zelle wird auf Format Standard gesetzt. Somit kann ich meine Bearbeitung mit Case "+" vergessen, da das "+" nicht mehr da ist. Hier soll naemlich eigentlich das + durch 2 Nullen ersetzt werden.
Hier mein Code dazu:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("M:M")) Is Nothing Then
If Target.Count > 1 Then Exit Sub
If Target "" Then
Target.NumberFormat = "@"
S = Target
Tel_Aendern (S)
Application.EnableEvents = False
Target = Speicher
Application.EnableEvents = True
End If
End If
End Sub
und
Sub Tel_Aendern(cbtext As String)
Speicher = cbtext
Select Case Left(Speicher, 1)
Case "0": Speicher = Speicher 'wenn eine Null am Anfang, dann lassen
Case "+": Speicher = "00" & Mid(Speicher, 2) 'wenn + am Anfang, dann durch 2 Nullen ersetzen
Case Else: Speicher = "0" & Speicher 'wenn Null der Vorwahl vergessen, dann Null ergaenzen
End Select
End Sub
Ich hoffe, jemand kann mir helfen, damit beim Kopieren das + nicht mehr verloren geht.
Uebrigens wird bei jedem Selection_Change die Spalte M als Text formatiert. Ich hatte gehofft, dass das + dadurch erhalten bleibt. Aber leider nein.
Gruss Tor