Auftragsprogrammierung

Projektanfrage über Web Formular   per Online-Formular 
Projektanfrage über E-Mail  Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein!
Projektanfrage per Telefon  +49 (0)151 / 164 55 914
Projektanfrage weitere Informationen  weitere Informationen 

Sie benötigen Hilfe oder Unterstützung? Nutzen Sie für Ihre Anfrage unser Online-Formular, senden Sie uns eine Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein!  oder rufen Sie uns einfach an.

Referenzen

 Bosch 
  T-Systems
  Hagebau
  Siemens
 Areva  VW
 Haufe-Lexware  British American Tobacco
  nagel group farbe

Zahlen aus Text extrahieren

Aufgabenstellung:

In einer Liste (Zellbereich A1:A10) sind Texte mit Ziffern enthalten, siehe folgende Abbildung.

 
A
1
Der Preis Beträgt 25 Euro für diesen Artikel.
2
Der Preis Beträgt 55 Euro für diesen 4Artikel.
3
Der Preis Beträgt 190 Euro für diesen Artikel.
4
Der Preis Beträgt 110 Euro für diesen Artikel.
5
Der Preis Beträgt 74 Euro für diesen Artikel.
6
Der Preis Beträgt 49 Euro für diesen Artikel.
7
Der Preis Beträgt 5 Euro für diesen Artikel.
8
Der Preis Beträgt 83 Euro für diesen Artikel.
9
Der Preis Beträgt 145 Euro für diesen Artikel.
10
Der Preis Beträgt 17 Euro für diesen Artikel.

Aus dieser Liste sollen nun die einzelnen Zahlen ausgelesen und daneben in Spalte B geschrieben werden. Als Besonderheit gilt, dass nur Zahlen berücksichtigt werden dürfen, die innerhalb der Grenzen von 50 bis 150 liegen. Zahlen, die unter 50 bzw. über 150 liegen sollen nicht extrahiert werden.

 

Lösung:

 

Erfassen Sie folgende Prozedur in einem Modul-Blatt:

 
Sub ZahlenExtrahieren()
 '** Auslesen von Zahlen zwischen 50 und 150 - Alle anderen Werte werden nicht
 '** ausgelesen
 
 '** Dimensionierung der Variablen
 Dim strTxt As String
 Dim varVal As Variant
 For d = 1 To 10
 
 '** Text Zelle auslesen
 strTxt = Cells(d, 1).Text
 
 '** Variable löschen
 strval = ""
 
 '** Durchlaufen aller Zeichen in der Zeile
 For lngindex = 1 To Len(strTxt)
 
 Select Case Asc(Mid(strTxt, lngindex, 1))
 
 '** Prüfen, ob es sich um eine Zahl handelt
 Case 48 To 57
 
 '** Zahlen zusammensetzen
 varVal = varVal & Mid(strTxt, lngindex, 1)
 
 '** Prüfen, ob der Wert innerhalb der Grenzen liegt
 If CDbl(varVal) >= 50 And CDbl(varVal) <= 150 Then
 Cells(d, 2).Value = varVal
 End If
 
 Case Else
 '** Variable löschen
 varVal = ""
 
 End Select
 
 Next lngindex
 Next d
 
End Sub


Diese Prozedur liest ausschließlich zusammenhängende Zahlen aus, welche innerhalb des angegebenen Wertebereichs von 50 bis 150 liegen.

 

Das Ergebnis sieht wie folgt aus:

 

 
A
B
1
Der Preis Beträgt 25 Euro für diesen Artikel.
 
2
Der Preis Beträgt 55 Euro für diesen 4Artikel.
55
3
Der Preis Beträgt 190 Euro für diesen Artikel.
 
4
Der Preis Beträgt 110 Euro für diesen Artikel.
110
5
Der 1 Preis Beträgt 74 Euro für diesen Artikel.
74
6
Der Preis Beträgt 49 Euro für diesen Artikel.
 
7
Der Preis Beträgt 5 Euro für diesen Artikel.
 
8
Der Preis Beträgt 83 Euro für diesen Artikel.
83
9
Der Preis Beträgt 145 Euro für diesen Artikel.
145
10
Der Preis Beträgt 17 Euro für diesen Artikel.
 

 

Die Zahl 25 in Zeile 1, die Zahl 190 in  Zeile 3, die Zahl 49 in Zeile 6, die Zahl 5 in Zeile 7 und der Wert 17 in Zeile 10 wird bei der Auswertung nicht berücksichtigt, da die angegebenen Kriterien nicht erfüllt sind.

 

Drucken E-Mail

Relevante Artikel

  • Letzte Zeile, letzte Spalte und letzte Zelle per VBA ermitteln

    Nachfolgend sehen Sie einige Makros, mit denen die letzte Zeile, die letzte Spalte bzw. die letzte Zelle ermittelt werden kann. Die Erläuterungen zu...

  • Kommentare aus Zellinhalten generieren

    Das Makro fügt innerhalb der Selektion in jede Zelle einen Kommentar ein. Inhalt des Kommentars ist das aktuelle Datum sowie der entsprechende...

  • Spaltenbuchstabe oder Spaltennummer ermitteln

    In manchen Situationen kann es sinnvoll oder notwendig sein, dass aus einer Spaltennummer der Spaltenbuchstabe ermittelt wird oder dass umgekehrt...

  • Zeilen (Einträge) abhängig vom Datum löschen

    Aus diesem Datenbestand sollen die Zeilen gelöscht werden, deren Datum in Spalte A im Monat November liegt.     A B C D 1 12.08.2002 daten daten daten 2 15.08.2002 daten daten daten 3 20.08.2002 daten daten daten 4 12.09.2002 daten daten daten 5 15.09.2002 daten daten daten 6 20.09.2002 daten daten daten 7 12.10.2002 daten daten daten 8 15.10.2002 daten daten daten 9 20.10.2002 daten daten daten 10 15.11.2002 daten daten daten 11 15.11.2002 daten daten daten 12 15.11.2002 daten daten daten 13 15.11.2002 daten daten daten 14 12.12.2002 daten daten daten 15 15.12.2002 daten daten daten 16 20.12.2002 daten daten daten Nach dem durchlauf des...

  • Verbundene Zellen finden

    Das folgende Makro findet alle verbunden Zellen und gibt die Zelladressen in einer MessageBox aus.{code}Sub VerbundeneZellen_Adressen()'Die...

Projektanfrage

 Sie benötigen eine Auftragsprogrammierung?
 Oder suchen Unterstützung bei der 
 Lösungsfindung?

  Nutzen Sie unser Anfrageformular

  Jetzt anrufen unter 0151 / 164 55 914

 Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein! Projektanfrage per Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein! senden

  Weitere Informationen

sitepanel question2

P
R
O
J
E
K
T
A
N
F
R
A
G
E
Cookies erleichtern die Bereitstellung unserer Dienste. Mit der Bestätigung erklären Sie sich mit der Verwendung von Cookies auf Excel-Inside Solutions einverstanden.