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

rest in VBA mit Wert in Zelle und nicht Formel

rest in VBA mit Wert in Zelle und nicht Formel
21.10.2018 00:45:04
Rene
Moin.
Ich habe da ein kleines Problem:
Ich brauche die letzten beiden Stellen einer 10stelligen Zahl (zBsp 49 von 6152859549).
Für die Mod Funktion ist diese Zahl zu groß, somit muß ich die Excel-Funktion Rest benutzen.
Die 10stellige Zahl befindet sich in Spalte B,
die letzten 2 Stellen sollen in der selben Zeile in Spalte A stehen.
Idee für Zelleninhalt in A2 in Excel:
=WENN(B2-615285950=0;0;RECHTS(B2;2))'Wenn 615285950-615285950=0 dann 0 eintragen
'ansonsten letzte beiden Zahlen der Zahl
'in A2 eintragen
Ansatz war
'ActiveCell in Spalte A
i = 2 'i Zeilen-Zähler
j = 0
If ActiveCell.Offset(0, 1).Value = 615285950 Then
ActiveCell.Value = 0
Else: 'j = ActiveCell.Offset(0, 1).Value
'ActiveCell.Value = Right(j, 2)
'ActiveCell.Value = WorksheetFunction.Rechts("B" & i ";2")
j = ActiveCell.FormulaLocal = "=Rechts(B" & i & ";2)"
ActiveVell.Value = j
End If
Laufzeitfehler 424
Objekt erforderlich
Ich hatte eine funktioniernde Lösung mit FormulaLocal Rechts,
das Problem war, das beim Auslesen der Zelle in Spalte A nur die Rest-Formel ausgegeben wurde und nicht die in der Tabelle angezeigte korrekte Zahl.
Daher meine Idee in VBA die Zahl mit Rest ermitteln zu lassen und diese der Variablen j zu übergeben und diese dann der Zelle in Spalte A zu übergeben.
So die Theorie, aber wie bekannt ist die Theorie noch lange keine Praxis.
Hat jemand eine Idee wie dies umsetzbar wäre?
Ich sehe mittlerweile vor lauter Bäume keinen Wald mehr...oder so...
Danke schonmal
René

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

Betreff
Datum
Anwender
Anzeige
AW: rest in VBA mit Wert in Zelle und nicht Formel
21.10.2018 01:08:36
onur
Du schreibst:"einer 10stelligen Zahl", aber die Zahlen in der Formel und im Makro sind 9-stellig.
Wieso nicht so:
=WENN(B2=615285950;0;RECHTS(B2;2)) ?
AW: rest in VBA mit Wert in Zelle und nicht Formel
21.10.2018 01:40:08
Rene
Oh SORRY mein Fehler.
615285950 ist natürlich 9stellig, ist auch die einzigste.
Alle andere Zahlen, die automatisch verarbeitet werden, sind 10stellig, wie im Beispiel "einer 10stelligen Zahl (zBsp 49 von 6152859549).", in der 3ten Zeile, geschrieben.
Diese Abfrage =WENN(B2-615285950=0;0;RECHTS(B2;2)) bedeutet im Programm:
Bei der Zahl 615285950 wird immer eine 0 eingetragen, bei allen anderen Zahlen, die 10stellig sind, interessieren die letzten beiden Zahlen.
Anzeige
AW: rest in VBA mit Wert in Zelle und nicht Formel
21.10.2018 02:31:57
onur
Und was ist an meiner Formel falsch?
AW: rest in VBA mit Wert in Zelle und nicht Formel
21.10.2018 18:48:59
Rene
Die Formel ist richtig, nur habe ich damit das Problem, das bei der Weiterverarbetung der Spalte A ich bei der Abfarge der Zellwerte nicht den Wert sondern die Formel als Value bekomme.
AW: rest in VBA mit Wert in Zelle und nicht Formel
21.10.2018 18:57:15
onur
"bei der Weiterverarbetung der Spalte A" - Wie geneu verarbeitest du Spalte A weiter?
AW: rest in VBA mit Wert in Zelle und nicht Formel
21.10.2018 21:06:18
Rene
Es geht um eine Telefonanlage einer Wohnanlage. Ich habe eine automatische Verarbeitung der Rechnung dieser Telefonanlage programmiert.
Diese Rechnung umfasst alle einzelnen Wohnungen dieser Wohnanlage.
Spalte A sind die Nummern der Wohneinheiten und Büro.Spalte B sind die Rufnummern der Wohneinheiten.
Bis vor einigen Monaten waren beide Spalten noch getrennt in der Rechnung aufgeführt, mittlerweile nicht mehr.
Die Wohneinheit ist aber in der Rufnummer in den letzten beiden Stellen enthalten.
Somit nehme ich die letzten beiden Stellen übertrage sie in die, seit neustem, leere Spalte A.
In Spalte B steht die komplette Rufnummer.
BSp: Rufnummer wäre 1234567843, hier wäre es die Wohneinheit 43
Einfach zu extrahieren ginge es mit mod 100, aber die Rufnummer ist zu groß für die MOD-Funktion.
Die Zahl 43 stände in Spalte A. und für jede Wohneinheit in dieser Spalte wird ein eigenes Tabellenblatt in der Arbeitsmappe erstellt auf dem alle Verbindungen für einen Monat stehen und als Abrechnung dient:
Alles regele ich mittels VBA verarbeiten. Wenn ich allerdings eine Fromel in eine Zelle auf dem Tabellenblatt einfüge wird das Ergebnis angezeigt, aber der Inhalt ist die Formel.
Und genau hier liegt mein Problem. Ich habe keine Ahnung wie ich dies lösen könnte.
Wobei mir gerade eine Idee kam die Formel zwar in der Zelle in Spalte A stehen zu haben, aber das die Formel das Ergebnis in eine andere Zelle schreibt...soweit die Theorie...geht es doch nicht noch einfacher :-o
Anzeige
AW: rest in VBA mit Wert in Zelle und nicht Formel
21.10.2018 22:10:05
onur
Du hast eine ellenlange Antwort geschrieben, ohne wirklich meine Frage zu beantworten.
Der Fehler liegt in deiner Weiterverarbeitung mittels VBA, aber ohne die Datei oder den Code kann ich dir auch nicht helfen.
AW: 2 aus 10
22.10.2018 08:00:24
Gerd
Moin René,
du solltest auch bei Office-Loesung in deine Antworten reingucken.
Gruß Gerd
AW: 2 aus 10
22.10.2018 21:06:43
Rene
Vielen vielen Dank an onur und seine Geduld und ganz besonders auch an Gerd L.
Ich hatte Office-Loesung ganz aus den Augen verloren und nur auf eine Benachrichtigung per @ über neue Beiträge gewartet, so wie es hier geschieht.
Die Lösung die bei mir funktionierte war:
Cells(i, "A") = Cells(i, "B") - (Int(Cells(i, "B") / 100) * 100)
Die Lösung mit Rest(B2;100) muß auch funktioniern statt der Versuch mit MOD...
Anzeige

334 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige