Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
956to960
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
956to960
956to960
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

=3 oder 4 Zahlen von rechts

=3 oder 4 Zahlen von rechts
07.03.2008 15:53:04
rechts
Hallo Leute
Ich habe im Sheets "Materialplan in Spalte I Materialnummern von verschiedenen Lieferanten stehen.
Ich bräuchte wenn die Mat.Nummer 3 stellig ist alle 3 stellen in J.
Materialplan
 IJ
2451451
 
Diagramm - Grafik - Excel Tabellen einfach im Web darstellen    Excel Jeanie HTML  3.0    Download  
Weiters wenn die Materialnummer nach dem Punkt also 5 Stelle von rechts eine null hat die 3 stellen von rechts.
Materialplan
 IJ
8400.086086
 
Diagramm - Grafik - Excel Tabellen einfach im Web darstellen    Excel Jeanie HTML  3.0    Download  
Hatt die Mat.Nummer nach dem Punkt grösser 0 dann bräuchte ich 4 Stellen von rechts in Spalte J
Materialplan
 IJ
72401.2191219
 
Diagramm - Grafik - Excel Tabellen einfach im Web darstellen    Excel Jeanie HTML  3.0    Download  
Könnte mir dazu bitte jemand weiterhelfen.
Danke Heinz

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: =3 oder 4 Zahlen von rechts
07.03.2008 15:58:00
rechts
Hallo Heinz,
=WENN(LÄNGE(A1)=3;A1;WENN(TEIL(A1;3;1)=0;RECHTS(A1;3)*1;(TEIL(A1;3;1)&RECHTS(A1;3))))
geht bestimmt auch eleganter...
Grüße
Andreas

AW: =3 oder 4 Zahlen von rechts
07.03.2008 16:18:00
rechts
Hallo Heinz,
das geht aber nur, wenn deine Ein/Ausagabe als Text formatiert ist
Option Explicit
Public Sub Nummernpruefen() Dim lZeile As Long Dim sInhalt As String Dim iPosit As Integer With Worksheets("Tabelle1") For lZeile = 1 To .Cells(Rows.Count, 9).End(xlUp).Row If .Cells(lZeile, 9).Value "" Then sInhalt = .Cells(lZeile, 9).Value If Len(sInhalt) = 3 Then .Cells(lZeile, 10).Value = sInhalt Else iPosit = InStr(sInhalt, ".") If iPosit > 0 Then If CInt(Mid(sInhalt, iPosit + 1, 1)) = 0 Then .Cells(lZeile, 10).Value = Mid(sInhalt, iPosit + 1, 3) Else .Cells(lZeile, 10).Value = Mid(sInhalt, iPosit - 1, 1) .Cells(lZeile, 10).Value = .Cells(lZeile, 10).Value & _ Mid(sInhalt, iPosit + 1, 3) End If End If End If '.Cells(lZeile, 10).Value = .Cells(lZeile, 10).Value * 1 End If Next lZeile End With End Sub


Gruß Peter

Anzeige
Danke an Andreas & Peter
07.03.2008 16:35:00
Heinz
Recht herzlichen DANK euch beiden.
Beide Hilfen sind Super !!
Recht herzlichen Dank
Gruß Heinz

AW: Doch noch eine Frage
07.03.2008 17:03:00
Heinz
Wenn die Stelle nach dem Punkt eine 0 ist dann würde ich nur die 3 Stellen von Rechts brauchen nicht
so wie im Beispiel 0396 sondern nur 396
Könntet ihr mir Bitte da nochmals helfen.
Gruß Heinz
Materialplan
 IJ
49400.3960396
Formeln der Tabelle
J49 : =WENN(LÄNGE(I49)=3;I49;WENN(TEIL(I49;3;1)=0;RECHTS(I49;3)*1;(TEIL(I49;3;1)&RECHTS(I49;3))))
 
Diagramm - Grafik - Excel Tabellen einfach im Web darstellen    Excel Jeanie HTML  3.0    Download  

Anzeige
AW: Doch noch eine Frage
07.03.2008 17:20:05
Hajo_Zi
Hallo Heinz,
ich würde vermuten am Ende *1

AW: Doch noch eine Frage
07.03.2008 18:11:50
Heinz
Hallo Hajo
Aber dann kommt hier 86 raus ich würde 086 brauchen.
Also immer mind.3 Stellen.
Gruß Heinz
Materialplan
 IJ
8400.08686
Formeln der Tabelle
J8 : =WENN(LÄNGE(I8)=3;I8;WENN(TEIL(I8;3;1)=0;RECHTS(I8;3)*1;(TEIL(I8;3;1)&RECHTS(I8;3))))*1
 
Diagramm - Grafik - Excel Tabellen einfach im Web darstellen    Excel Jeanie HTML  3.0    Download  

Anzeige
AW: Doch noch eine Frage
07.03.2008 18:27:00
Hajo_Zi
Hallo Heinz,
formatiere die Zelle benutzerdefiniert 000
Gruß Hajo

AW: Doch noch eine Frage
07.03.2008 18:29:00
Heinz
Hallo Hajo
Ja Super.
Genau so.
Recht herzlichen Dank !!
Gruß Heinz

AW: Doch noch eine Frage
07.03.2008 17:24:00
Peter
Hallo Heinz,
als Makro so:
Public Sub Nummernpruefen() Dim lZeile As Long Dim sInhalt As String Dim iPosit As Integer With Worksheets("Tabelle1") For lZeile = 1 To .Cells(Rows.Count, 9).End(xlUp).Row If .Cells(lZeile, 9).Value "" Then sInhalt = .Cells(lZeile, 9).Value If Len(sInhalt) = 3 Then .Cells(lZeile, 10).Value = sInhalt Else iPosit = InStr(sInhalt, ".") If iPosit > 0 Then If CInt(Mid(sInhalt, iPosit + 1, 1)) = 0 Then .Cells(lZeile, 10).Value = Mid(sInhalt, iPosit + 2, 3) Else .Cells(lZeile, 10).Value = Mid(sInhalt, iPosit - 1, 1) .Cells(lZeile, 10).Value = .Cells(lZeile, 10).Value & _ Mid(sInhalt, iPosit + 1, 3) End If End If End If '.Cells(lZeile, 10).Value = .Cells(lZeile, 10).Value * 1 End If Next lZeile End With End Sub


Gruß Peter

Anzeige
AW: Doch noch eine Frage
07.03.2008 18:01:38
Heinz
Hallo Peter
Ich komme mit deinem Makro leider nicht ganz zurecht.
Habe ein Beispiel mal hochgeladen.
Danke Heinz
https://www.herber.de/bbs/user/50551.xls

AW: Doch noch eine Frage
07.03.2008 22:11:24
Peter
Hallo Heinz,
in deiner ersten Anfrage enthielten die Zahlen Punkte, an den sich orientiert werden sollte.
Die Punkte sind jetzt nicht mehr vorhanden!
Also kann mein Makro nicht mehr funktionieren, da es sich an den Punkten orientiert hat.
Ich musste also umbauen.
Option Explicit
Public Sub Nummernpruefen() Dim lZeile As Long Dim sInhalt As String Dim iPosit As Integer Dim iLaenge As Integer With Worksheets("Tabelle1") For lZeile = 1 To .Cells(Rows.Count, 9).End(xlUp).Row If .Cells(lZeile, 9).Value "" Then sInhalt = .Cells(lZeile, 9).Value iLaenge = Len(sInhalt) If iLaenge = 3 Then .Cells(lZeile, 10).Value = sInhalt Else iPosit = InStr(sInhalt, ".") If iPosit > 0 Then If CInt(Mid(sInhalt, iPosit + 1, 1)) = 0 Then .Cells(lZeile, 10).Value = Mid(sInhalt, iPosit + 2, 3) Else .Cells(lZeile, 10).Value = Mid(sInhalt, iPosit - 1, 1) .Cells(lZeile, 10).Value = .Cells(lZeile, 10).Value & _ Mid(sInhalt, iPosit + 1, 3) End If Else If iLaenge = 6 Then If Mid(sInhalt, iLaenge - 3, 1) = 0 Then .Cells(lZeile, 10).Value = Right(sInhalt, 3) Else .Cells(lZeile, 10).Value = Right(sInhalt, 4) End If End If End If End If .Cells(lZeile, 10).Value = .Cells(lZeile, 10).Value * 1 End If Next lZeile End With End Sub


Gruß Peter

Anzeige
AW: Doch noch eine Frage
08.03.2008 15:15:18
Heinz
Hallo Peter
Die Punkte kamen weg,da du geschrieben hast :
"das geht aber nur, wenn deine Ein/Ausgabe als Text formatiert ist"
Aber jetzt funktioniert es.
Recht herzlichen Dank für deine Beeindruckende Arbeit.
Gruß Heinz

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige