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

Aus einem Preis einen Code erzeugen

Aus einem Preis einen Code erzeugen
16.12.2019 09:45:59
Ahmadine
Hallo zusammen,
aus einer Preisliste mit Preisen von 1-stellig bis 2-stellig möchte ich gern einen Code erzeugen.
Der Code soll von rechts nach links gelesen und das Komma in eine 2 verwandelt, den Preis ergeben.
Die Preisliste ist mehrere tausend Zeilen lang!
Beispiel: 1-stellig
Aus 0,26 soll 6220 werden
Anders erklärt: Aus 6220 wird (von rechts nach links gelesen 0226 / Die 2 in ein Komma verwandeln: 0,26 / fertig
Beispiel: 2-stellig
Aus 13,95 soll 59231 werden
Anders erklärt: Aus 59231 wird (von rechts nach links gelesen 13295 / Die 2 in ein Komma verwandeln: 13,95 / fertig
Was müsste ich in VBA schreiben, das VBA die Preise in diesen Code verwandeln kann?
Ich habe leider nichts auch nur annähernd passendes gefunden.
Oder geht das sogar mit einer Excel-Funktion?
Das verwandeln in den Code bei veränderten Preise kostet mich jedesmal zig Stunden.
Vielen Dank im Voraus für Vorschläge.
Karsten

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Aus einem Preis einen Code erzeugen
16.12.2019 09:48:10
Hajo_Zi
Hallo Karsten,
ohne VBA
STRG+H

In diesem Forum bekomme ich kein Mailbenachrichtigung, weitere Antworten sind zufällig.
Das wurde schon an Hans gemeldet.
Mail's von Hans kommen an.
AW: mit Replace und StrReverse
16.12.2019 09:57:58
hary
Moin
Hier mal fuer die Aktive Zelle. Statt ActiveCell nimmst du Cells(x,y) und in eine Schleife.
Evtl. noch pruefen ob ein Komma drin ist.
ActiveCell = StrReverse(Replace(ActiveCell, ",", 2))

gruss hary
AW: mit Replace und StrReverse
16.12.2019 10:18:42
Ahmadine
Moin Harry,
danke für die Info, aber ich habe leider nichts verstanden.
Ist das VBA?
Was genau soll ich jetzt eingeben? Schleife?
Copy paste funktioniert nicht.
Jaja ich weiß, der größte anzunehmende Unfall sitzt immmer vor dem Bildschirm,
aber ich will je gern noch lernen....
VG
Anzeige
AW: mit Replace und StrReverse
16.12.2019 10:32:32
hary
Moin
Du erstellst ein Makro und setzt diesen Code rein.
Hier im Bsp. stehen die Zahlen in SpalteA. Ansonsten den Spaltenbuchstaben anpassen
Dim i As Long
For i = 1 To Cells(Rows.Count, "A").End(xlUp).Row
If InStr(1, Cells(i, "A"), ",") Then
Cells(i, "A") = StrReverse(Replace(Cells(i, "A"), ",", 2))
End If
Next

gruss hary
AW: mit Replace und StrReverse
16.12.2019 11:56:18
Ahmadine
DAS hat funktioniert!!
SUPI, vielen vielen Dank!
Case closed
AW: Aus einem Preis einen Code erzeugen
16.12.2019 10:00:26
Ahmadine
Hi Hajo,
daran habe ich auch schon gedacht,
da aber die Liste mehrere tausend Zeilen lang ist und von 0,0x bis 99,xx so ziemlich jeder Preis vorhanden ist, muß ich ja für jeden einzelnen, unterschiedlichen Preis in die "Ersetzen Funktion".
Das Ersetzen geht dann zwar schnell, aber ich hatte gehoft, diesen Schritt umgehen zu können.
Leider habe ich keine Ahnung, wie ich das anstellen soll.
VG, Karsten
Anzeige
AW: Aus einem Preis einen Code erzeugen
16.12.2019 11:20:15
Sigi
Hallo Karsten,
dann mit zwei Funktionen:
Function CodeAusPreis(Preis As Double) As Double
CodeAusPreis = StrReverse(Replace(CStr(Preis), ",", 2))
End Function

Function PreisAusCode(Code As Double) As Double
PreisAusCode = StrReverse(Replace(CStr(Code), 2, ","))
End Function
Bleibt ein Problem, falls du im Preis ein Komma und eine 2 hast, ergeben sich bei Rückverwandlung zwei Kommata (=#Wert!")
Gruß
Sigi
AW: Aus einem Preis einen Code erzeugen
16.12.2019 10:07:24
Günther
Moin,
dass du nichts gefunden hast liegt gewiss auch daran, dass du nicht über den Tellerrand hinweg geschaut hast ... ;-)
Es muss nämlich nicht VBA sein, in deiner Version hast dz das im Bereich Daten | Abrufen und transformieren on board. - Wobei du auch bei den Beispieldaten ein wenig weiter denken solltest, was wird denn aus 3,2 und/oder 10,00?
Gruß
Günther
Anzeige
nur mit Formeln:
16.12.2019 13:52:19
Daniel
Gefunden auf WWW.Excelformeln.de
=SUMMENPRODUKT((0&TEIL(WECHSELN(A1;",";"2");ZEILE(1:16);1))*10^(ZEILE(1:16)-1))
Gruß Daniel

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige