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

Format erstellen

Format erstellen
28.02.2023 11:24:02
kurt
Hallo zusammen,
ich habe folgendes Makro:
Public Sub Worksheet_Change(ByVal Target As Range)
Dim vntNewValue As Variant
Dim lrgRange As Range
On Error GoTo ERR_Handler
Set lrgRange = Range("b26:b50, b92:b115, b156:b179, b220:b243, b283:b306, b347:b370")
'--- hier Spalte D sollte das Zahlenformat für die Bereiche hinterlegt werden -----------
Set lrgRange = Range("d26:d50, d92:d115, d156:d179, d220:d243, d283:d306, d347:d370"),"#.##0,00 €"
If Intersect(Target, lrgRange) Is Nothing Then Exit Sub
With Target
If .Count = 1 Then
.Value = vntNewValue
End If
End With
ERR_Handler:
Application.EnableEvents = True
End Sub
so klappte es nicht !
mfg kurt k

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Format erstellen
28.02.2023 11:30:59
Daniel
Hi
Man kann in VBA in der Regel nur eine Aktion gleichzeitig ausführen.
Du musst erst den Zellbereich der Variablen zuweisen und danach dann das Zahlenformat.
Set lrgRange = Range("d26:d50, d92:d115, d156:d179, d220:d243, d283:d306, d347:d370")
lrgRange.Numberformat = "#.##0,00 €"
Gruß Daniel
Entweder …
28.02.2023 11:40:16
RPP63
Entweder
lrgRange.NumberformatLocal = "#.##0,00 €"
oder
lrgRange.Numberformat = "#,##0.00 €"
Denn schließlich spricht VBA englisch (incl. der entsprechenden Tausender- und Dezimaltrenner).
Wobei ich mich schon frage, warum man einen festen Range immer und immer und immer wieder formatieren soll.
Außerdem:
vntNewValue wird überhaupt nicht gefüllt!
Dein Makro macht nix anderes als jede Änderung sofort wieder zu löschen?
Gruß Ralf
Anzeige
Hallo Ralf hier Antwort
28.02.2023 13:13:00
kurt
Hallo Ralf,
jedes mal wurde das Format geändert, wenn ich die Datei geöffnet hatte so: "€ #.##0,00"
mfg kurt k
Danke an ALLE -)
28.02.2023 13:10:27
kurt
Hallo zusammen.
herzlichen Dank an ALLE.
Ich habe den Vorschlag von Daniel genommen, natürlich mit der Änderung , und . = "#,##0.00 €"
mfg kurt k
AW:Oder
28.02.2023 12:41:29
GerdL
wir verstehen es nicht. :-)
Public Sub Worksheet_Change(ByVal Target As Range)
Dim lrgRange As Range, C As Range
On Error GoTo ERR_Handler
Set lrgRange = Range("b26:b50,b92:b115,b156:b179,b220:b243,b283:b306,b347:b370")
If Intersect(Target, lrgRange) Is Nothing Then Exit Sub
For Each C In Intersect(Target, lrgRange)
    Application.EnableEvents = False
    If C > "" Then
        C.NumberFormat = "#,##0.00 €"
        C.Offset(0, 2) = C.NumberFormat
    Else
        C.Offset(0, 2).ClearContents
    End If
    Application.EnableEvents = True
Next
Set lrgRange = Nothing
ERR_Handler:
If Err.Number > 0 Then Err.Clear
End Sub
Gruß Gerd
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige