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

Wieso Makro nicht???

Wieso Makro nicht?
walterMB
Hallo,
habe über das Forum folgendes Makro erhalten:
'----------- 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("GG:GG")) 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 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

In der Zelle sollte bei der Eingabe 0-111612345 das erscheinen: 0 - 111 12345
Oder bei der Eingabe:
0211112345 das erscheinen 02 111 12345.
Wieso funktioniert das nicht mehr ? Habe gerade in der Firma Umstellung auf XP
erhalten, hat das was damit zu tun.
Gruß Walter

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

Betreff
Benutzer
Anzeige
AW: Wieso Makro nicht?
Luschi
Hallo Walter,
das liegt an dieser Bedingung:
ElseIf Left(.Text, 2) = "00" Or Left(.Text, 1) = "6" Then
Wenn Du in XP eine Zeichenfolge eingibst, in der nur Zahlen stehen, dann werden die vorderen Nullen automatisch gelöscht, noch bevor das Chance-Ereignis eintritt.
D.h., diese Bedingung (Left(.Text, 2) = "00") tritt bei einer reinen Zahlenreihe nie ein.
Bei dieser Zeichenfolge (0211112345) wird zuerst die Null entfernt und dann geprüft, ob das 1. Zeichen eine 6 ist (Left(.Text, 1) = "6"). Das dies nicht erfüllt ist, wird auch nicht formatiert.
Gruß von Luschi
aus klein-Paris
Anzeige
Danke aber...
16.02.2006 21:15:05
Walter
Hallo Luschi,
Du hast Recht habe ich gerade!!! auch festgestellt.
Habe aber noch ein Problem dazu !!
Ich möchte die Spalte "g:g" und die Spalte "aa:aa" NUr in diesen beiden Spalten haben.
Habe gerade festgestellt das das Fornat auch auf die Spalte"H" übertragen wird.
Wie kann ich diese Zeile entsprechend ändern ?
If Not Intersect(Target, Range("G:G","AA:AA")) Is Nothing Then
so funktioniert es nicht,
gruß Walter
AW: Danke aber...
16.02.2006 22:10:25
Luschi
Hallo Walter,
so funktionierts richtig: Range("G:G, AA:AA")
bei Range("G:G", "AA:AA") kommt raus als Bereich: $G:$AA (G bis AA)
Gruß von Luschi
aus klein-Paris
Anzeige
Danke o.t.
16.02.2006 22:58:26
Walter
Hallo Luschi,
herzlichen Dank für die Hilfe,
mfg Walter

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige