Hi,
ich habe eine Tabelle mit Kilometer-Angaben 1-X (Schwankt je nach Fall) in Spalte A. Die unterste Zelle enthält oft, aber nicht immer anstatt der einfachen KM-Zahl z.B. "Über 80". Um die Tabelle weiterverarbeiten zu können, muss ich einen brauchbaren Wert generieren, in dem Fall 81. Manchmal würde aber auch schon 81 in der Vorgabe stehen, dann soll das Makro gar nichts tun.
Ich habe leider keine Anung von VB aber einiges erschließt sich ja von selbst. Ich habe durch zusammenkopieren folgendes Makro hinbekommen, das auch funktioniert. Aber der letzte Befehl ist nicht mehr an das "WENN Text=ja" geknüpft und wird somit in jedem Fall ausgeführt. Wahrscheinlich kann man das aber ganz leicht integrieren? Das würde mir sehr helfen!
Abgesehen davon läuft das Makro gefühlt extrem lange (~20sekunden?), ist das normal?
Sub Makro1()
'
' Text entfernen, Zahl um eins erhoehen
'
Columns("A:A").Select
Range("A2").Activate
Dim c As Range
Application.ScreenUpdating = False
For Each c In Selection
If c.Text <> "" Then
If InStrRev(c.Text, " ") > 0 Then
If IsNumeric(Right(c.Text, Len(c.Text) - InStrRev(c.Text, " "))) Then
c.Value = CDbl(Right(c.Text, Len(c.Text) - InStrRev(c.Text, " ")))
End If
End If
End If
Next c
Application.ScreenUpdating = True
Range("A4").Select
Selection.End(xlDown).Select
ActiveCell.Value = ActiveCell.Value + 1
End Sub
Vielen Dank für Hilfe!
|