Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
540to544
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
540to544
540to544
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Ereignis: Zahlen in vorgegebene Zeichenkette

Ereignis: Zahlen in vorgegebene Zeichenkette
08.01.2005 12:08:23
Peter
Wer kann helfen?
Ich möchte die eingegebenen Zahlen in eine Zeichenkette umwandeln. Dabei soll keine
„Ausnullung“ erfolgen. (siehe Beispiel)
Dabei müßte wahrscheinlich irgendwie die eingebene Zahlenlänge berücksichtigt werden,und anhand dieser Zahlenlänge eine entsprechende Formatierung erfolgen.
Peter

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Count > 1 Then Exit Sub
If Intersect(Target, [a:a]) Is Nothing Then Exit Sub
On Error GoTo errorhandler
Application.EnableEvents = False
'Target = CStr(Format(Target, "000/00/0"))
Select Case Len(Target.Value)
Case 7
'z.B.1234567=1234/56/7
'Target =?
Case 6
'z.B.123456=123/45/6
Case 5
'z.B.12345=12/34/5
'Target =?
Case 4
'z.B.1234=1/23/4
'Target =?
Case Else:
Target.ClearContents
End Select
Application.EnableEvents = True
Exit Sub
errorhandler:
Target.ClearContents
Application.EnableEvents = True
End Sub

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Ereignis: Zahlen in vorgegebene Zeichenkette
08.01.2005 12:16:39
Josef
Hallo Peter!
Warum den mit VBA?
Das geht doch auch mit Foramtierung der Zellen!
Benutzerdefiniertes Format : ####"/"##"/"#
Und die Länge der Einträge über Daten &gt Gültigkeit &gt Textlänge
Minimun= 4 ; Maximum = 7
Gruß Sepp
AW: bin neugierig
08.01.2005 12:50:23
Peter
Hallo Sepp,
mich interessiert wie man das über VBA macht!
Habe solch ein Beispiel noch nicht gesehen.
Peter
AW: bin neugierig
08.01.2005 15:35:51
Josef
Hallo Peter!
Das aht zwar meiner Meinung nur nachteile, aber das geht zB. so:


Option Explicit
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
   If Target.Count > 1 Then Exit Sub
   If Intersect(Target,[a:a]) Is Nothing Then Exit Sub
On Error GoTo errorhandler
Application.EnableEvents = False
   
   Select Case Len(Target)
      Case 7
      'z.B.1234567=1234/56/7
         Target = CStr(Format(Target, "0000/00/0"))
      Case 6
      'z.B.123456=123/45/6
         Target = CStr(Format(Target, "000/00/0"))
      Case 5
      'z.B.12345=12/34/5
         Target = CStr(Format(Target, "00/00/0"))
      Case 4
      'z.B.1234=1/23/4
         Target = CStr(Format(Target, "'0/00/0"))
      'das Hochkomma ist nötig, weil Excel sonst die
      'Eingabe in ein Datum umwandelt!
      Case Else:
         Target.ClearContents
   End Select
   
   Application.EnableEvents = True
   Exit Sub
errorhandler:
   Target.ClearContents
   Application.EnableEvents = True
End Sub



Die Spalte vorher asl "Text" formatieren!
Gruß Sepp
Anzeige
AW: Danke
08.01.2005 22:32:37
Peter
Danke für Deine Mühe
Peter

317 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige