Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
624to628
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
624to628
624to628
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Gültigkeit auf 500er und 1.000er einschränken

Gültigkeit auf 500er und 1.000er einschränken
23.06.2005 12:41:15
Matina
Hallo zusammen.
Kann mir jemand einen Tipp geben, wie ich eine Zelle formatieren kann, die automatisch auf 1.000er oder 500er auf- bzw. abrundet?
Z. B. 1.250 soll bei der Eingabe automatisch 1.000 ergeben,
1.251 soll bei der Eingabe automatisch 1.500 ergeben.
Danke schon mal

17
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Gültigkeit auf 500er und 1.000er einschränken
23.06.2005 13:09:12
Matthias
Hallo Martina,
geht m.W. nur mit VBA.
ins Tabellenblattmodul:

Private Sub Worksheet_Change(ByVal Target As Range)
Const zellen = "A1:A5" 'dieser Bereich soll korrigiert werden
Dim ber As Range, z As Range
Set ber = Intersect(Range(zellen), Target)
If Not ber Is Nothing Then
Application.EnableEvents = False
For Each z In ber
If IsNumeric(z) And Not IsEmpty(z) Then z.Value = Round((z.Value) / 500, 0) * 500
Next z
Application.EnableEvents = True
End If
End Sub

Gruß Matthias
AW: Gültigkeit auf 500er und 1.000er einschränken
23.06.2005 13:18:12
Martina
Hallo Matthias,
Makro läuft irgendwie nicht: bleibt mit folgender Medlung stehen:
"Fehler beim Kompilieren Sub oder Function nicht definiert"
Was muss ich da ändern?
Danke
Martina
Anzeige
AW: Gültigkeit auf 500er und 1.000er einschränken
23.06.2005 13:37:47
Matthias
Hallo Martina,
hast du es im Tabellenblatt-Modul?
Wo genau ist denn der Fehler (ich hab' XP)?
GRuß Matthias
AW: Gültigkeit auf 500er und 1.000er einschränken
23.06.2005 13:39:50
Martina
Hallo Matthias,
ich habe Windows 2000 und NT.
Wenn ich eine Zahl eingebe (den Gültigkeitsbereich habe ich geändert), dann kommt folgende Meldung:
"Fehler beim Kompilieren Sub oder Function nicht definiert"
Ich kann damit leider nichts anfangen - Du?
Danke
AW: Gültigkeit auf 500er und 1.000er einschränken
23.06.2005 13:42:42
Matthias
Hallo Martina,
klicke dann bei der Fehlermeldung auf "Debuggen" und sag mir, welche Zeile hervorgehoben ist.
Gruß Matthias
AW: Gültigkeit auf 500er und 1.000er einschränken
23.06.2005 13:56:13
Martina
Hallo Matthias,
er markiert das Wort "Round"
Danke
Martina
Anzeige
AW: Gültigkeit auf 500er und 1.000er einschränken
23.06.2005 13:58:53
Matthias
Hallo Martina
dann ersetze mal
Round(
durch
WorksheetFunction.Round(
Gruß Matthias
A=VRUNDEN(A1;500) (oT)
23.06.2005 13:53:09
Dr.
.
AW: A=VRUNDEN(A1;500) (oT)
23.06.2005 14:27:34
Martina
VRunden funktioniert nur bei einer Funktion. Es soll aber doch entweder oder gerundet werden, also 500er oder 1.000er.
AW: A=VRUNDEN(A1;500) (oT)
23.06.2005 14:32:33
Dr.
Offensichtlich hast Du die Funktion nicht mal ausprobiert.
AW: A=VRUNDEN(A1;500) (oT)
23.06.2005 14:43:19
Martina
Aber klar doch, das wäre doch die einfachste Lösung gewesen.
Ich habe die Formel so eingegeben (auf meine Zelle abgeändert). Es wurde lediglich die Formel dargestellt, aber getan hat sich nichts.
Was könnte ich denn da falsch gemacht haben?
AW: A=VRUNDEN(A1;500) (oT)
23.06.2005 14:49:07
Dr.
Das versehentlich von mir stehengelassene "A" vor dem Gleichheitszeichen hast Du aber nicht mit eingegeben, oder?
Anzeige
AW: A=VRUNDEN(A1;500) (oT)
23.06.2005 14:59:20
Martina
Hallo Dr.,
um ganz sicher zu gehen, habe ich die Formel nochmals eingegeben: gleiches Ergebnis.
Weiß nicht woran es liegt, vielleicht an meiner Excel-Version (97)?
Allerdings ist das Problem auch gelöst worden, Matthias hat mir einen Code geschickt, jetzt läufts!
Trotzdem vielen Dank!
Martina
AW: Gültigkeit auf 500er und 1.000er einschränken
23.06.2005 14:09:22
Martina
Jetzt hat sich zuerst gar nichts mehr getan und dann bin ich abgeschmiert.
Ich habe noch mehrere Makros in der Tabelle, soll ich Dir den gesamten Code mal schicken?
Kann etwas dauern, ich muss zuerst die Kiste wieder hochfahren.
Danke
Martina
AW: Gültigkeit auf 500er und 1.000er einschränken
23.06.2005 14:25:44
Martina
So, jetzt ist er wieder da.
Ich habe das Makro abgeändert:
If IsNumeric(z) And Not IsEmpty(z) Then z.Value = WorksheetFunction.Round.((z.Value) / 500, 0) * 500
Jetzt schreibt er: Fehler beim Kompilieren: Erwartet Bezeichner oder geklammerter Ausdruck.
Und nun?
Anzeige
AW: Gültigkeit auf 500er und 1.000er einschränken
23.06.2005 14:41:57
Matthias
Hallo Martina,
hier nochmal der Code:

Private Sub Worksheet_Change(ByVal Target As Range)
Const zellen = "A1:A5" 'dieser Bereich soll korrigiert werden
Dim ber As Range, z As Range
Set ber = Intersect(Range(zellen), Target)
If Not ber Is Nothing Then
Application.EnableEvents = False
For Each z In ber
If IsNumeric(z) And Not IsEmpty(z) Then z.Value = WorksheetFunction.Round((z.Value) / 500, 0) * 500
Next z
Application.EnableEvents = True
End If
End Sub

Hast du noch andere Ereignisprozeduren? Bin langsam am Ende meines Lateins...
Gruß Matthias
Anzeige
AW: Gültigkeit auf 500er und 1.000er einschränken
23.06.2005 14:47:19
Martina
Mensch Matthias,
vielen Dank. Dein Latein hat bei Weitem ausgereicht.
Ich hatte eben den Code zwar auch kopiert, aber irgendwie hat sich da wohl der Fehlerteufel eingeschlichen.
Es klappt und zwar ganz prima!!
Danke und einen sonnigen Tag (ohne meine nervigen Fragen)!
Liebe Grüße
Martina

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige