Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
732to736
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
732to736
732to736
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Zahlenformat mit Makro, Bitte dringend...

Zahlenformat mit Makro, Bitte dringend...
20.02.2006 17:26:46
walter
Hallo,
jetzt brauch ich noch einmal Forums-Fachleute.
Ich möchte in der Spalt "G" und in der Spalte "AA" das Format haben:
Bei der Eingabe in der Zelle > 0-77712345 soll 0 - 777 12345 erscheinen,
bei der Eingabe von 0677712345 soll > 06 777 12345 erscheinen.
Irgendwie habe ich das mal mit Unterstützung Forum hinbekommen, ich habe leider nicht so ein tiefes Wissen.
Jetzt funktioniert es nicht, weiß nicht Warum ?
Ferner brauch ich dies auch in Verbindung mit der Eingabe von einer TextBox die
auf einer UF "liegt".
Hier das Makro:
'----------- Zellenformat mit 00 oder - Zeichen ---------------------------------

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
'Range("E:E") ist der überwachte Berecih, bitte anpassen:
'If Not Intersect(Target, Range("AA:AA")) Is Nothing Then
If Not Intersect(Target, Range("G:G,AA:AA")) Is Nothing Then
Application.EnableEvents = False
With Target
'Wenn - an 2.Stelle:
If Mid(.Text, 2, 1) = "-" Then
.Value = Application.WorksheetFunction.Substitute(Application.WorksheetFunction.Substitute(Target, "-", ""), " ", "")
.NumberFormat = "0 ""-"" 000 00000"
'Wenn Eingabe mit 06 beginnt:
'ElseIf Left(.Text, 2) = "06" Then
'' ElseIf Left(.Text, 2) = "00" Or Left(.Text, 1) <> "6" Then
ElseIf Left(.Text, 2) = "00" And Left(.Text, 2) = "6" Then
ElseIf Mid(.Text, 2, 2) = "06" Then
.Value = Application.WorksheetFunction.Substitute(Target, " ", "")
.NumberFormat = "0 - 000 00000"
End If
End With
Application.EnableEvents = True
End If
End Sub

Ich habe schon das ganze Wochenende damit verbracht, vielleicht hat auch jemand
eine andere Lösung...
mfg Walter

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zahlenformat mit Makro, Bitte dringend...
21.02.2006 08:03:54
eugen
hi
probier das mal

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 7 Or Target.Column = 27 And Target.Rows = 1 Then
Application.EnableEvents = False
If Mid(Target.Value, 2, 1) = "-" Then
Target.Value = Replace(Target.Value, "-", "")
Target.Value = Replace(Target.Value, " ", "")
Target.NumberFormat = "0 ""-"" 000 00000"
End If
If Left(Target.Value, 2) = "06" Then
Target.Value = Replace(Target.Value, " ", "")
Target.NumberFormat = "0 - 000 00000"
End If
Application.EnableEvents = True
End If
End Sub

mfg
Leider nicht
21.02.2006 08:39:04
walter
Hallo Eugen,
hatte deine Mail erst heute Morgen erhalten, weiß nicht warum.
Habe dein reingesetzt, leider überhaupt keine Reaktion.
Hatte mal eine Test-Datei erstellt, die funktioniert heute Morgen, hatte dann meine
Datei die ich fadür benötige ebenfalls geladen, leider funktionierte ebenfalls nicht.
Jetzt wieder die Test-Datei kommisch die tus auf einmal mit meinen "alten" Makro auch nicht und hatte dann dein Vorschlag reinkopiert, wie gesagt auch nicht.
Hatte dann über Zahlenformat festgestellt das das Format mal Ja mal Nein übetragen bzw. hinterlegt wird.
Scheint doch irgendwie ein gleichzeitiges Hinterlegen des Formats zu sein oder ?
Schicke Dir mal die Datei: https://www.herber.de/bbs/user/31262.xls
mfg walter
Anzeige
Wichtig Bitte vielleicht Eugen?
21.02.2006 12:14:42
walter
Hallo Eugen,
habe folgendes Makro funktioniert auch aber ich krieg das nicht in Verbindung
mit der Spalte inkl. "AA:"" hin.

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
'Range("E:E") ist der überwachte Berecih, bitte anpassen:
If Not Intersect(Target, Range("G:G")) Is Nothing Then
''''If Not Intersect(Target, Range("G:G", "AA:AA")) Is Nothing Then
'brauch ich da es die beiden Spalten sind
Application.EnableEvents = False
With Target
'Wenn - an 2.Stelle:
If Mid(.Text, 2, 1) = "-" Then
.Value = Application.WorksheetFunction.Substitute(Application.WorksheetFunction.Substitute(Target, "-", ""), " ", "")
.NumberFormat = "0 ""-"" 000 00000"
'Wenn Eingabe mit 00 beginnt:
ElseIf Left(.Text, 2) = "00" Or Left(.Text, 1) >= "0" Then
.Value = Application.WorksheetFunction.Substitute(Target, " ", "")
.NumberFormat = "00 000 00000"      'so stand es
End If
End With
Application.EnableEvents = True
End If
End Sub

Und die Eingabe in der Textbox fehlt mir noch, weiß nicht wie ich das hinkrieg, damit mir das Richtige Format dann angezeigt wird.
mfg Walter
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige