Office-Fragen.de
ucase - Druckversion

+- Office-Fragen.de (https://office-fragen.de)
+-- Forum: Microsoft Office (https://office-fragen.de/forum-1.html)
+--- Forum: Excel (https://office-fragen.de/forum-2.html)
+--- Thema: ucase (/thread-29259.html)



ucase - Thomasius - 26.08.2025

hallo habe jetzt exel professional plus 2021 und meine exeltabelle mit ucase funktioniert nicht mehr nun meine frage , ging es nur mit der alten version von exel ?


RE: ucase - Thomasius - 26.08.2025

(26.08.2025, 18:14)Thomasius schrieb: hallo habe jetzt exel professional plus 2021 und meine exeltabelle mit ucase funktioniert nicht mehr nun meine frage , ging es nur mit der alten version von exel ?

If Not Intersect(Target, Range("C5:C35")) Is Nothing Then
          If Not IsNumeric(Target) Then Target.Value = UCase(Target)
      End If

das ging mit der alten version von exel
jetzt hängt sich exel auf


RE: ucase - Flotter Feger - 26.08.2025

Hallo,

da hast du wohl einen kaputten Verweis in deinem Excel ... nimm den raus, dann geht es wieder.

Oder "repariere" deinen Code ... If Not IsNumeric(Target) Then Target.Value = VBA.UCase(Target)


RE: ucase - Thomasius - 26.08.2025

(26.08.2025, 19:55)Flotter Feger schrieb: Hallo,

da hast du wohl einen kaputten Verweis in deinem Excel ... nimm den raus, dann geht es wieder.

Oder "repariere" deinen Code ... If Not IsNumeric(Target) Then Target.Value = VBA.UCase(Target)

Private Sub Worksheet_Change(ByVal Target As Range)
Dim Eingabe As Variant
On Error GoTo fehler1
If Not Intersect(Target, Range("C5:C35")) Is Nothing Then
          If Not IsNumeric(Target) Then Target.Value = VBA.UCase(Target)
      End If
If Not Intersect(Target, Range("F37,F43,C5:E35")) Is Nothing Then
    Application.EnableEvents = False
    With Target
        If Not IsNumeric(.Value) Then GoTo fehler1
        If IsEmpty(Target) Then
            Target.Value = ""
            GoTo fehler1
        End If
        .Value = Left(Format(Target, "0000"), 2) & ":" & Right(Target, 2)
        ' funkt am besten
        ' Wenn Std über 24 und gleichzeit Minuten über 60 erfasst werden, wird Text zurückgegeben.
        .NumberFormat = "[h]:mm"
    End With
End If
If Not Intersect(Target, Range("f47")) Is Nothing Then
    Application.EnableEvents = False
    With Target
        If Not IsNumeric(.Value) Then GoTo fehler1
        If IsEmpty(Target) Then
            Target.Value = ""
            GoTo fehler1
        End If
        .Value = Left(Format(Target, "00000"), 3) & ":" & Right(Target, 2)
        ' funkt am besten
        ' Wenn Std über 24 und gleichzeit Minuten über 60 erfasst werden, wird Text zurückgegeben.
        .NumberFormat = "[h]:mm"
    End With
End If
fehler1:
Application.EnableEvents = True

End Sub




hämgt sich auch auf er ändert zwar um aber dann hängt alles




Danke


RE: ucase - Thomasius - 26.08.2025

(26.08.2025, 20:09)Thomasius schrieb:
(26.08.2025, 19:55)Flotter Feger schrieb: Hallo,

da hast du wohl einen kaputten Verweis in deinem Excel ... nimm den raus, dann geht es wieder.

Oder "repariere" deinen Code ... If Not IsNumeric(Target) Then Target.Value = VBA.UCase(Target)

Private Sub Worksheet_Change(ByVal Target As Range)
Dim Eingabe As Variant
On Error GoTo fehler1
If Not Intersect(Target, Range("C5:C35")) Is Nothing Then
          If Not IsNumeric(Target) Then Target.Value = VBA.UCase(Target)
      End If
If Not Intersect(Target, Range("F37,F43,C5:E35")) Is Nothing Then
    Application.EnableEvents = False
    With Target
        If Not IsNumeric(.Value) Then GoTo fehler1
        If IsEmpty(Target) Then
            Target.Value = ""
            GoTo fehler1
        End If
        .Value = Left(Format(Target, "0000"), 2) & ":" & Right(Target, 2)
        ' funkt am besten
        ' Wenn Std über 24 und gleichzeit Minuten über 60 erfasst werden, wird Text zurückgegeben.
        .NumberFormat = "[h]:mm"
    End With
End If
If Not Intersect(Target, Range("f47")) Is Nothing Then
    Application.EnableEvents = False
    With Target
        If Not IsNumeric(.Value) Then GoTo fehler1
        If IsEmpty(Target) Then
            Target.Value = ""
            GoTo fehler1
        End If
        .Value = Left(Format(Target, "00000"), 3) & ":" & Right(Target, 2)
        ' funkt am besten
        ' Wenn Std über 24 und gleichzeit Minuten über 60 erfasst werden, wird Text zurückgegeben.
        .NumberFormat = "[h]:mm"
    End With
End If
fehler1:
Application.EnableEvents = True

End Sub




hämgt sich auch auf er ändert zwar um aber dann hängt alles




Danke


hab es danke



RE: ucase - d'r Bastler - 03.09.2025

Moin Thomas,

Deine Zeile in XL 2019 & 2021, letzteres in 32- und 64-bit getestet und kein Problem, ob mit oder ohne VBA als Objekt: Nix hängt.

Das könnte also eventuell ein EXD-Thema sein, was Du so ausprobierst: Suche in C:\Users\[Dein User]\AppData\Local\Temp\VBE die *.exd-Dateien und lösche sie. Keine Sorge, diese gecachten Typbibliotheken werden mit dem nächsten Aufruf automatisch wieder erstellt.

Hat schon bei so manchem VBA-Mysterium geholfen. Lass bitte wissen, ob ... Viel Erfolg!

Schöne Grüße