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

VBA die beiden Vorletzten Zahlen abfragen

VBA die beiden Vorletzten Zahlen abfragen
14.02.2018 18:34:28
Christoph
Hallo,
ich möchte in einer Zelle, in meinen Fall in Spalte C, Zeile 2, die vorletzten beiden Zahlen abfragen und dann entsprechend mit dem Makro fortfahren, jedoch bekomme ich das irgendwie nicht hin, hat hier einer eine Idee dazu?
hier mein Teil des Makros:

Sub Makro2()
Dim wsh As Worksheet, y As Long, lngEndRowInv As Long
Set wsh = ActiveSheet
y = 2
lngEndRowInv = wsh.Range("C" & wsh.Rows.Count).End(xlUp).Row
While y 

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

Betreff
Datum
Anwender
Anzeige
AW: VBA die beiden Vorletzten Zahlen abfragen
14.02.2018 18:52:07
KlausF
Hallo Christoph,
z.B.:
Dim strSuche As String
strSuche = Range("C2").Value
strSuche = Left(Right(strSuche, 3), 2)
MsgBox strSuche
Gruß
Klaus
Nachtrag
14.02.2018 18:55:40
KlausF
Hi.
Ich war jetzt davon ausgegangen, dass nur Zahlen im String stehen.
Wenn nicht, funktioniert die Lösung natürlich nicht.
Dann wird es komplizierter ...
Gruß
Klaus
auch als gemischter String
14.02.2018 19:13:48
KlausF
Und hier noch eine Version, falls der String gemischt ist:
Function Ziffern(Zelle As String) As Variant
Application.Volatile
Dim i As Integer
For i = Len(Zelle) To 1 Step -1
If IsNumeric(Mid(Zelle, i, 1)) Then Ziffern = Mid(Zelle, i, 1) & Ziffern
Next
Ziffern = Ziffern * 1
If Ziffern = 0 Then Ziffern = ""
End Function

Sub ZiffernFinden()
Dim strSuche As String
strSuche = Ziffern(Range("C2"))
strSuche = Ziffern(Left(Right(strSuche, 3), 2))
MsgBox strSuche
End Sub
Gruß
Klaus
Anzeige
AW: auch als gemischter String
15.02.2018 09:51:32
Christoph
Hallo Klaus,
danke für deine Unterstützung, ich konnte es mit deinen Tipps lösen.
Ist jedoch etwas komplexer, da ich die ganze Spalte "C" nach gewissen Werten absuche, hier jedoch meine funktionierende Lösung. (Ist nur ein kleiner Teil des Makros, welches noch erweitert/angepasst wird)
Thx
Sub Makro2()
Dim wsh As Worksheet, y As Long, lngEndRowInv As Long
Set wsh = ActiveSheet
y = 2
lngEndRowInv = wsh.Range("C" & wsh.Rows.Count).End(xlUp).Row
While y 

Danke für die Rückmeldung (owT)
15.02.2018 18:23:03
KlausF
Hallo Christoph,
danke für die Rückmeldung
Gruß
Klaus

313 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige