Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Wie kann ich den folgenden rang umrechnen..?

Forumthread: Wie kann ich den folgenden rang umrechnen..?

Wie kann ich den folgenden rang umrechnen..?
12.12.2008 08:01:11
Joachim
HI,
ich habe in meinem sheet eine Spalte , die hat folgende Einträge:
005/003
008/006
002/003
008/003
in der ersten bedeutet das zB 5 Jahre und 3 Monate
Wie kann ich den die Spalte (im Range D20:D350) so umrechnen:
1/12 von 3 + 5
Also auf deutsch: Vorderer Teile (5) + 1/zwölftel vom hinteren Teil (3)
Als ERgebnis sollte nachher in der ersten Zeile 5,25 in der zweiten 8,5 usw. rauskommen.
Weiss jemand, wi man das umrechnen kann ?
Danke
Joachim
Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Wie kann ich den folgenden rang umrechnen..?
12.12.2008 08:12:08
Beverly
Hi Joachim,
=LINKS(D20;3)*1+RECHTS(D20;3)/12


Gehts auch mit einem Makro ? :-) oT
12.12.2008 08:14:18
Joachim
Weshalb unbedingt VBA, wenn man es auch mit...
12.12.2008 08:19:00
Beverly
Hi Joachim,
...einer Formel lösen kann?

Sub umwandeln()
Dim inZeile As Integer
For inZeile = 20 To 350
Cells(inZeile, 5) = Left(Cells(inZeile, 4), 3) * 1 + Right(Cells(inZeile, 4), 3) / 12
Next inZeile
End Sub




Anzeige
Hi, bei mir kommt da immer eine Fehlermeldung.
12.12.2008 08:45:21
Joachim
Funktioniert es bei Dir ? bei mir kommt der Fehler: Typen unverträglich
Gruss
Joachim
liegt es vielleicht daran..
12.12.2008 08:50:28
Joachim
...
dass meine Daten in der Spalte D liegen und ich auch wieder versuche , diese in D reinzuschreiben.
Ich möchte die Spalte eigentlich nur wumrechnen und nicht woanders reinschreiben
Gruss
Joachim
Anzeige
AW: oder vielleicht an..
12.12.2008 09:13:00
Erich
Hallo Joachim,
wenn beim folgenden Makro MsgBoxen auftauchen,
sind deine Daten nicht korrekt:

Sub umwandeln2()
Dim lngZ As Long, bolF As Boolean
For lngZ = 20 To 350
bolF = True
If Not IsNumeric(Left(Cells(lngZ, 4), 3)) Then
MsgBox "Erste drei Stellen von " & Cells(lngZ, 4) & " in Zeile " & lngZ
bolF = False
End If
If Not IsNumeric(Right(Cells(lngZ, 4), 3)) Then
MsgBox "Letzte drei Stellen von " & Cells(lngZ, 4) & " in Zeile " & lngZ
bolF = False
End If
If bolF Then
Cells(lngZ, 4) = Left(Cells(lngZ, 4), 3) + Right(Cells(lngZ, 4), 3) / 12
End If
Next lngZ
End Sub

Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

Anzeige
AW: liegt es vielleicht daran..
12.12.2008 09:13:51
Tino
Hallo,
vieleicht sind noch irgendwelche leerzeichen bei dir vorhanden!?
Option Explicit
Sub umwandeln()
Dim lngRow As Long
Dim W_Rechts As Double, W_Links As Double
   
  For lngRow = 20 To Cells(Rows.Count, "D").End(xlUp).Row
      
      With Cells(lngRow, "D")
       
       If .Value <> "" Then
          W_Rechts = Trim(Right(.Value, Len(.Value) - InStr(.Value, "/")))
          W_Links = Trim(Left(.Value, InStr(.Value, "/") - 1))
          .Value = W_Links + W_Rechts / 12
       End If
      
      End With
   
   Next lngRow
End Sub


Gruß Tino

Anzeige
jetzt gehts..
12.12.2008 09:52:13
Joachim
Hi Tino,
jetzt funktioniert es, ich vermute mal , es lag an den leeren Zellen, die dazwischen waren.
Vielen Dank.
Joachim
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige