IFError mit VBA
#1
Hallo Zusammen,

ich habe mich gerade in diesem Forum angemeldet und freue mich auf spannende Diskussionen. Für das folgende Thema konnte ich leider bisher noch nichts hier im Forum oder eine Hilfe in Google finden.
Foglendes Beispiel will ich mit Excel VBA gelöst bekommen

Ich habe eine Reihe von Zellen die folgenden Inhalt haben
Namen3,25
Namen2a12,36

Es kommt aber auch immer wieder vor, das es Zellen gibt die nur eine zweistellige Zahl haben
98

Ich will die Namen von den Nummern trennen.

Ich habe nun mit VBA Versucht, erst einmal das Problem zu lösen, dass ich die 4 Stelligen Nummern (z.B: 3,25) per VBA in eine neue Zelle schreiben will.
Dafür habe ich folgenden Code verwendet. Das hat bei diem Beispiel "Name3,25" auch funktioniert.

Code:
Cells(i,2)=(Mid(Cells(i, 1), 1, Len(Cells(i, 1)) - 4)
In der folgenden Zeile bin ich dann auf das erste Problem gestoßen. In der Zelle war "98" und es gab mit meinem Code einen Abbruch. Also dachte ich, dass mit IfError zu umgehen und baute foglenden Code :
Code:
Cells(i, 2) = Application.WorksheetFunction.IfError(Mid(Cells(i, 1), 1, Len(Cells(i, 1)) - 4), " ")
Der fängt jedoch die Fehlermeldung nicht ab.


Es gibt aus meiner Sicht nun zwei Möglichkeiten, für die ich jedoch bisher keine Lösung gefunden habe
a.) Jemand kann mir bei der "IFERROR" Problematik weiterhelfen
b) Jemand kennt eine Möglichkeit ,
  b1) die kommplette Anzahl an Zahlen in der Zelle zu ermitteln und diese dann in die LEN - Algorithmus mit einfließen zu lassen
  b2) eine andere Art, wie ich die oben genannten 3 Zellen ausgelesen bekomme .

Vorab schon einmal vielen Dank für die Hife.

Gruß
Oliver
Top
#2
Ergibt

Mid(Cells(i, 1), 1, Len(Cells(i, 1)) - 4)

denn einen Fehler?
WIN/MSO schicken angeblich alle 5 Sekunden Deinen Screen heim zu Papa (recall-Klausel). 
Top
#3
Hallo LCohen,

wenn die Zelle mit folgendem Wert gefüllt ist (Name3,25) dann nicht.
Komme ich aber in eine andere Zelle, die (98) enthällt, dann ja.

Als Grund sehe ich hier der, das in der Zelle (98) nur zwei Zeichen enthalten sind und nicht 4.
Top
#4
http://www.herber.de/excelformeln und bitte suchen .../formeln.html?welcher=100

bis =103
WIN/MSO schicken angeblich alle 5 Sekunden Deinen Screen heim zu Papa (recall-Klausel). 
Top
#5
spannende Diskussion:

Lade immer eine Excel Beispieldatei hoch.

Code:
Sub M_snb()
   c00 = "Namen2a12,36"
   MsgBox Left(c00, Len(c00) - Len(Format(Val(StrReverse(Replace(c00, ",", "."))))))
End Sub
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Top
#6
Hallo LCohen und snb.

Danke für Eure Hilfe.

@ LCohen
diese Seite habe ich auch schon entdeckt, habe hier nach Deinem Beitrag auch wieder etwas versucht aber ohne Erfolg.

@ snb
Deine Lösung scheint aktuell die zu sein, die ich benötige. Super dafür. Übrigens der Link in dem Post um Excel Formel zu überrsetzen habe ich schon lange gesucht.
War das übrigens "ironsich" gemeint mit dem Post "spannende Diskussion" ?

Gruß
Oliver
Top
#7
Meine Aufforderung war seriös. Was iron sich bedeutet verstehe ich gar nicht ;)

Der Texteditor dieses Forums ist nich optimal (z.B. Tabs)
Eine Beispieldatei ist immer sehr hilfreich.
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste