Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1180to1184
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
Inhaltsverzeichnis

Per Makro Teil vom String auslesen

Per Makro Teil vom String auslesen
Jockel
Hallo,
vielleicht kann mir jemand mal wieder helfen:
Ich habe viele Zeilen mit Datensätze (Spalte A - L). In der Spalte L habe ich einen String drin stehen, der sieht zB so aus:
Baum#Ast#112233#test
Auto#Rad#334455#test
Also entweder steht der string drin, oder es ist leer.
Ein Makro soll soll die Spalte (L) nun überprüfen:
Wenn die Zelle NICHT leer ist, soll nach dem zweiten "#" Zeichen die Zahl heraus extrahiert werden und diese Zahl in der gleiche Zeile in die Spalte K geschrieben werden.
Ist die Zelle leer, einfach zur nächste weiter.
Kann mir da bitte jemand mit einem kleinen Makro helfen ?
Danke
Jockel

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

Betreff
Benutzer
Anzeige
AW: Per Makro Teil vom String auslesen
20.10.2010 11:23:17
Holger
Hallo Jockel,
ist es immer eine Zahl bzw kommt eine Zahl nur hier vor?
AW: Per Makro Teil vom String auslesen
20.10.2010 11:30:22
Jockel
Hi Holger,
also nach dem zweiten "#" kommt immer eine Zahl. Eine Zahl könnte aber auch mal nach dem dritten "#" kommen. Da muss nicht immer Text drin stehn.
Jockel
AW: Per Makro Teil vom String auslesen
20.10.2010 11:49:31
Rudi
Hallo,
Sub ttt()
Dim c As Range, tmp
For Each c In Columns(12).SpecialCells(xlCellTypeConstants)
tmp = Split(c, "#")
If UBound(tmp) > 1 Then c.Offset(, -1) = tmp(2)
Next
End Sub

Gruß
Rudi
OK, Danke, passt :-) owT
20.10.2010 12:58:39
Jockel
Doch noch eine Nachfrage...
20.10.2010 13:30:50
Jockel
Hi Rudi,
Danke, wie geschrieben funktioniert der Code.
Zur Übersicht, damit ich sehe, wo das makro was gemacht hat, wäre es nicht schlecht, wenn die entsprechende Zeile oder die Zelle K mit roter Schriftfarbe versehen wäre.
Wie kann ich denn das machen ?
Danke
Jockel
Anzeige
c.Offset(, -1).interior.color = vbred
20.10.2010 14:06:24
Holger
Hallo,
Dazu musst du aber den then Zweig erweitern und ein end if setzen.
AW: Doch noch eine Nachfrage...
20.10.2010 14:07:26
Rudi
Hallo,
ganz einfach so:
Sub ttt()
Dim c As Range, tmp
Application.ScreenUpdating = False
For Each c In Columns(12).SpecialCells(xlCellTypeConstants)
tmp = Split(c, "#")
If UBound(tmp) > 1 Then
With c.Offset(, -1)
.Value = tmp(2)
.Font.Color = RGB(255, 0, 0)
End With
End If
Next
End Sub

Gruß
Rudi
AW: Doch noch eine Nachfrage mit Farbe
20.10.2010 14:12:58
ing.grohn
Hallo Jockel,
probier mal:

Sub ttt()
Dim c As Range, tmp
For Each c In Columns(12).SpecialCells(xlCellTypeConstants)
tmp = Split(c, "#")
If UBound(tmp) > 1 Then
c.Offset(, -1) = tmp(2)
c.Offset(, -1).Font.Color = 255
End If
Next
End Sub

MfG
Albrecht
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige