Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1340to1344
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

Formatierung in einem bestimmten Zellbereich

Formatierung in einem bestimmten Zellbereich
11.12.2013 14:35:46
Holm
Hallo zusammen,
ich habe folgendes Problem:
Zelle B7 ist mit C7 verbunden, das gilt bis B31 (verbunden dann mit B32) sowie
B34 (verbunden mit C34) bis hin zu B59 (verbunden mit C59)
In den Feldern ist über Gültigkeit eine Auswahlliste als Drop-Down Menü hinterlegt.
Dort sind Daten in Form von XX ZZZZZZZZ eingegeben, wobei X für einen Großbuchstaben steht und X für eine Zahl. Dazwischen ist ein Leerzeichen.
Man kann also die Daten in B7 (bzw bis B51, außer B32 u B33) über das Drop-Down auswählen.
Andernseits möchte ich nun, dass, wenn man die Daten manuell in Form xxzzzzzzzz eingibt (also kleine Buchstaben und ohne Leerzeichen!!) automatisch in die obige Form
XX ZZZZZZZZ (also Großbuchstaben mit Leerzeichen) übernommen werden, wenn man die Entdertaste drückt.
Vielen Dank!!

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Formatierung in einem bestimmten Zellbereich
11.12.2013 15:38:44
Rudi
Hallo,
so?
Private Sub Worksheet_Change(ByVal Target As Range)
Dim strTmp As String
If Not Intersect(Target, Range("B7:B51")) Is Nothing Then
If Target  "" Then
On Error GoTo ErrExit
Application.EnableEvents = False
strTmp = UCase(Replace(Target, " ", ""))
strTmp = Left(strTmp, 2) & " " & Mid(strTmp, 3)
Target = strTmp
End If
End If
ErrExit:
Application.EnableEvents = True
End Sub

Gruß
Rudi

AW: Formatierung in einem bestimmten Zellbereich
12.12.2013 07:28:19
Holm
Guten Mrgen,
genauso! :-) Aber:
Wenn ich einen Wert in einer dieser Zellen mit ENT lösche, kommt eine Fehlermeldung:
Laufzeitfehler 13 Typen unverträglich
Gehe ich dann aud DEBUGGEN, ist folgende Zeile gelb markiert: If Target "" Then
Der gesamte Code im Tabellenblatt sieht übrigens so aus:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A7:A63")) Is Nothing Then
On Error GoTo Err
If InStr(Target.Value, ",") > 0 Then
Target.NumberFormat = "#,##0.00"
Else
Target.NumberFormat = "#,##0"
End If
Err:
Exit Sub
End If
Dim strTmp As String
If Not Intersect(Target, Range("B7:B51")) Is Nothing Then
If Target  "" Then
On Error GoTo ErrExit
Application.EnableEvents = False
strTmp = UCase(Replace(Target, " ", ""))
strTmp = Left(strTmp, 2) & " " & Mid(strTmp, 3)
Target = strTmp
End If
End If
ErrExit:
Application.EnableEvents = True
End Sub
Eine Idee?

Anzeige
AW: Formatierung in einem bestimmten Zellbereich
12.12.2013 10:34:08
Holm
Hat jemand ne Idee? :-)

AW: Formatierung in einem bestimmten Zellbereich
12.12.2013 07:23:43
Holm
Guten Morgen,
ja, genau so!! Funktioniert prima!
Aber:
Wenn ich einen eingetragenen Wert aus einer dieser Zellen manuell mit ENTF lösche, kommt eine Fehlermeldung:
Laufzeitfehler 13 Typen unverträglich
Wenn ich dann auf DEBUGGEN gehe, ist im Code diese Zeile hier If Target "" Then gelb markiert.
Der gesamte Code im Tabellenblatt sieht jetzt übrigens so aus:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A7:A63")) Is Nothing Then
On Error GoTo Err
If InStr(Target.Value, ",") > 0 Then
Target.NumberFormat = "#,##0.00"
Else
Target.NumberFormat = "#,##0"
End If
Err:
Exit Sub
End If
Dim strTmp As String
If Not Intersect(Target, Range("B7:B51")) Is Nothing Then
If Target  "" Then
On Error GoTo ErrExit
Application.EnableEvents = False
strTmp = UCase(Replace(Target, " ", ""))
strTmp = Left(strTmp, 2) & " " & Mid(strTmp, 3)
Target = strTmp
End If
End If
ErrExit:
Application.EnableEvents = True
End Sub

Anzeige
AW: Formatierung in einem bestimmten Zellbereich
12.12.2013 11:24:12
Rudi
Hallo,
If Target(1) "" Then
Gruß
Rudi

AW: Formatierung in einem bestimmten Zellbereich
12.12.2013 12:10:59
Holm
Danke, genial :-)))))

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige