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

Automatisch Zahl voran stellen

Automatisch Zahl voran stellen
08.11.2022 13:36:19
chris
Hallo liebes Forum,
ich muss um Hilfe bitten und hoffe auf euch.
Ich habe in Spalte A Werte stehen.
So in der Art:
4,365
4,485
4,681
4,865
4,986
usw..
ich möchte das ich die 4 oder dann eben die 5 die am Anfang Links steht nicht manuell eingeben muss.
Suche eine Lösung in VBA. Ich weiß das das in diese Zeilen muss aber mehr weiß ich leider nicht:

Private Sub Worksheet_Change(ByVal Target As Range)
End Sub
Auch ein Probelm ist der übergang von 4 zu 5 oder dann zu 6 usw...
Wie ist das möglich ? Könnt ihr mir bitte helfen ?
Vielen Dank Chris

23
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Automatisch Zahl voran stellen
08.11.2022 14:09:41
GerdL
Hallo Chris,
jeweis einmal musst du die ganze Zahl eingeben, weitere mt Komma links.
Denn du kannst "den Übergang" nicht bestimmen.

Private Sub Worksheet_Change(ByVal Target As Range)
Dim X As Double
With Target
If .Column > 1 Then Exit Sub
If .CountLarge > 1 Then Exit Sub
If .Row = 1 Then Exit Sub
If .Value  0 Then
X = .Value
Application.EnableEvents = alse
Application.Undo
.Value = CLng(.Offset(-1, 0)) + X
End If
End If
End If
End With
Application.EnableEvents = True
End Sub
Gruß Gerd
AW: Automatisch Zahl voran stellen
08.11.2022 14:14:38
chris
Vielen Dank Gerd !!!
AW: Automatisch Zahl voran stellen
08.11.2022 14:20:34
chris
Gerd, sorry es geht doch nicht, Springt jedes mal bei dieser Zeile aus dem VBA editor raus:

If .Value 
obwohl die target value z.b 875 ist.
Gruß
Anzeige
AW: Automatisch Zahl voran stellen
08.11.2022 14:23:11
chris
Ich habe es jetzt so gelöst. Was hälst du davon ?

Private Sub Worksheet_Change(ByVal Target As Range)
Dim ltw As Integer
Dim ll As Integer
If Target.Value = "" Then Exit Sub
x1 = Target.Value
ll = Left(Cells(Target.Row - 1, 1), 1)
ltw = Right(Cells(Target.Row - 1, 1), 3)
If x1 > ltw Then
Else
ll = ll + 1
End If
Application.EnableEvents = False
Cells(Target.Row, 1).Value = ll & "." & x1
Application.EnableEvents = True
End Sub

AW: Automatisch Zahl voran stellen
08.11.2022 15:45:22
GerdL
Das ist (nur) vom Ansatz her in Ordnung; mache mal eine Eingabe in B1.
Gruß Gerd
AW: Automatisch Zahl voran stellen
08.11.2022 16:37:56
chris
Hallo Gerd,
also in B1 wenn ich eine Eingabe mache passiert glaube ich gar nichts.
Ich habe jetzt herausgefunden wie dein Code funktioniert :))
Ich muss erst eine Zahl kleiner 0 eingeben also immer mit einem komme vorangesetzt.
Und das wollte ich nicht. Ich wollte nur eingeben müssen z.b 667 dann soll es mir automatisch umwandeln z.b in 5,667
Weil ich mir die , Komma Eingabe am Handy sparen wollte.
Geht das auch? Vielen Dank liebe grüße Chris
Anzeige
AW: Automatisch Zahl voran stellen
08.11.2022 16:43:42
Daniel
Hi
kann man alles machen.
die Frage ist, wie du den Vorkommastellenwert angeben willst.
Gruß Daniel
AW: Automatisch Zahl voran stellen
08.11.2022 16:52:34
chris
Hallo Daniel,
den vorkommastellenwert soll es automatisch aus oder von der Zahl darüber sich holen. Verstehst du mich ?
Gruß Chris
AW: Automatisch Zahl voran stellen
08.11.2022 17:04:21
GerdL
Die Frage ist:
Sollen immer nur alle dreistellingen Zahlen zu Nachkommastellen werden?
Soll immer danach die 5 vorangestellt werden? Oder wie?
"z.B." kann man nicht programmieren.
Gruß Gerd
AW: Automatisch Zahl voran stellen
08.11.2022 17:32:40
chris
Hallo Gerd,
Danke das du mir helfen willst. Ich drücke mich bestimmt nicht richtig aus.
Ich möchte eingeben zum Beispiel:
in Zelle A1 steht:
3,585
dann gebe ich ein in Zelle A2 " 785" dann soll in Zelle A2 stehen 3,785
gebe ich dann ein in Zelle A3 355 soll in Zelle A3 stehen 4,355
usw..
verstehst du mich ?
´ganze liebe grüße Chris
Anzeige
AW: Automatisch Zahl voran stellen
08.11.2022 17:27:18
Daniel
Hi
du könntest dir meinen anderen Code entsprechend abändern.
mach aus:

 If Abs(Target.Value) 
das hier

 If Int(Target.Value) = Target.Value Then
und aus

Target.Value = Target.Value + Fix(Target.Offset(-1, 0).Value)
machst du

Target.Value = Fix(Target.Offset(-1, 0).value) & "." & Target.Value 
dh immer wenn du eine Zahl mit Nachkommastellen eingibst, wird diese unverändert übernommen, und wenn du eine Ganzzahl eingibst, werden dieses als Nachkommastellen genommen und an die Ganzzahl der Vorgängerzelle angehängt.
im Gegenzug könntest du mir aber folgende Frage beantworten:
nachdem du geschrieben hast:

Weil ich mir die , Komma Eingabe am Handy sparen wollte.
wüsste ich gerne, welches Handy mit welchem Betriebssystem und welchem Excelprogramm du verwendest, auf dem Makros laufen.
Gruß Daniel
Anzeige
AW: Automatisch Zahl voran stellen
08.11.2022 17:36:18
chris
Hallo Daniel,
ich blicke leider nicht ganz durch :(((
Tut mir leid bin total Anfänger und hoffe auf Gerds Lösung.
Und zu deiner frage aktuell gebe ich es in Google sheets ein.
Und um dafür ein passendes Programm zu erstellen bräuchte ich es eben erst in Excel VBA.
Dann kann ich es meinem Kumpel sagen das er mir es für Google Sheets umprogrammieren soll.
Verstehst du mich ?
AW: Automatisch Zahl voran stellen
08.11.2022 17:46:00
Daniel
naja, wenn dein Kumpel Google-Sheets programmieren kann, solltest du das mit ihm besprechen, nicht mit uns.
AW: Automatisch Zahl voran stellen
08.11.2022 17:57:57
chris
Der kann aber das nicht sagte er ;((
Deshalb habe ich hier auf euer spezial wissen gehofft.
Anzeige
AW: Automatisch Zahl voran stellen
08.11.2022 18:11:28
Daniel
naja, dann bringst du das erst mal in VBA ans laufen (dann musst du halt erstmal VBA lernen) und dann kannst du ihm zeigen, was er tun muss.
AW: Automatisch Zahl voran stellen
08.11.2022 18:15:48
chris
Vielleicht Hilft mir Ja GerdL dabei.
AW: Automatisch Zahl voran stellen
08.11.2022 18:19:16
chris
Das hoffe ich.
AW: Automatisch Zahl voran stellen
08.11.2022 20:47:25
Daniel
Und ich habe dir nicht geholfen?
Immerhin habe ich dir ein vollständiges Makro geschrieben und dir gezeigt, was du ändern musst, um es an deine erweiterten Wünsche anzupassen.
AW: Automatisch Zahl voran stellen
08.11.2022 20:53:52
Chris
Doch du hast mir auch geholfen. Sorry
AW: Automatisch Zahl voran stellen
08.11.2022 16:01:42
Daniel
Hi
vielleicht mit folgendem Ansatz:
wenn du eine Zahl kleiner 1 eingibst, wird die Ganzzahl der Vorgängerzelle übernommen.
Dh wenn es einen Wechsel der Ganzzahl gibt, gibst du die Zahl vollständig ein, wenn nicht, nur den Nachkommaanteil:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then
If Target.CountLarge = 1 Then
If VarType(Target.Value) = 5 Then
If Abs(Target.Value)  1 Then
If VarType(Target.Value) = 5 Then
Application.EnableEvents = False
Target.Value = Target.Value + Fix(Target.Offset(-1, 0).Value)
Application.EnableEvents = True
End If
End If
End If
End If
End If
End If
End Sub
Gruß Daniel
Anzeige
AW: Automatisch Zahl voran stellen
08.11.2022 16:27:06
chris
Dankeschön Daniel !
AW: Automatisch Zahl voran stellen
08.11.2022 20:14:43
GerdL
Anhand deiner fragmentarischen Angaben und nicht voll ausgetestet.
Schreibe in A1 2,099

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.CountLarge > 1 Then Exit Sub
If Target.Column > 1 Then Exit Sub
If Target.Row = 1 Then Exit Sub
If Not IsNumeric(Target.Text) Then Exit Sub
If Not IsNumeric(Target.Offset(-1).Text) Then Exit Sub
If Target.Offset(-1) >= 1 Then
If Target  0 Then
Application.EnableEvents = False
If (Target.Offset(-1) - Int(Target.Offset(-1))) * 1000 
Gruß Gerd
AW: Automatisch Zahl voran stellen
08.11.2022 20:34:12
chris
Hallo Gerd, ich weiß zwar nicht genau wie... :) Aber es funktioniert genau richtig !!!
Werde versuchen das ganze morgen mit meinem Kumpel so umzubauen das es auch in Google Tabellen geht. Hoffe er bekommt es hin.
Vielen Vielen Dank! !!
Anzeige

307 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige