Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Von-Datum innerhalb von Zellen suchen
17.10.2014 10:27:56
Zellen
Hallo!
Für mein Problem finde ich trotz Suche keine Lösung...
Ich habe in einer Spalte viele Zellen, in denen Werte nach folgendem Muster stehen:
1x03003 (30.10.2013),
1x03040 (30.10.2013),
1x32006 (13.11.2013),
1x32042 (14.11.2013)
Das steht alles in der gleichen Zelle. Also nicht in 4 Zellen untereinander.
Ich benötige eine Möglichkeit, dass ich einer Userform ein Datum eintrage (z. B. 01.11.13) und das mir dann in den jeweiligen Zellen alle Werte die nach diesem Datum liegen fett markiert oder/und in die Nachbarzelle kopiert werden.
Also z. B.
1x03003 (30.10.2013),
1x03040 (30.10.2013),
1x32006 (13.11.2013),
1x32042 (14.11.2013)

oder
1x03003 (30.10.2013),
1x03040 (30.10.2013),
1x32006 (13.11.2013),
1x32042 (14.11.2013)

und in der Nachbarzelle steht dann auch noch
1x32006 (13.11.2013),
1x32042 (14.11.2013)
Das Ganze soll dann durch die ganze Spalte bis zur letzten beschriebenen Zelle geschehen.
Ist so was irgendwie machbar?
Danke für eure Hilfe!
Werner

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Das geht nur mit VBA, nämlich bspw der vbFkt ...
17.10.2014 16:12:17
Luc:-?
Split (als Voraussetzung für den DatumsVgl) und der Characters-Methode (für die TeilFormatierung der jeweiligen Zelle), Werner;
mit bspw BedingtFormat ist das nicht möglich (nur ganze Zellen).
Das nutzt dir jetzt zwar nichts, aber du hast mich auf einen neuen Gedanken gebracht → mal sehen, was draus wird… ;-)
Gruß, Luc :-?

Man kann allerdings auch ohne 'Split' ein ...
17.10.2014 16:18:51
Luc:-?
…Datum in TextForm mit den Zellen vgln, allerdings dann nur zyklisch über alle ZellInhalte feststellen, welche Zeile(n) der Zelle (bei Trennung der Zeilen durch hartcodierte ZeilenUmbrüche) betroffen ist(/sind).
Luc :-?

Anzeige
AW: Von-Datum innerhalb von Zellen suchen
17.10.2014 16:35:49
Zellen
Hi
wenn das Muster so stimmt (Datum immer 10-stellig in Klammern), dann probier mal folgendes:
Option Explicit
Sub Färben()
Dim DatumAb As Date
Dim Pos As Long
Dim Zelle As Range
Dim txt As String
DatumAb = DateValue("01.11.2013")
For Each Zelle In Columns(1).SpecialCells(xlCellTypeConstants, 2)
txt = Zelle.Value
Pos = 0
Do
Pos = InStr(Pos + 1, txt, "(")
If Pos = 0 Then Exit Do
If IsDate(Mid(txt, Pos + 1, 10)) Then
If CDate(Mid(txt, Pos + 1, 10)) >= DatumAb Then
Pos = InStrRev(txt, vbLf, Pos) + 1
Exit Do
End If
End If
Loop
If Pos > 0 Then
Zelle.Characters(Start:=Pos, Length:=Len(txt) - Pos).Font.FontStyle = "Fett"
End If
Next
End Sub
Gruß Daniel

Anzeige
AW: Von-Datum innerhalb von Zellen suchen
18.10.2014 01:33:45
Zellen
Hallo zusammen,
habe den Makro von Daniel gerade ausprobiert. Es wird dabei die gesamte Zelle auf "Fett" eingestellt. Zunächst muss m. E. das Sammelsurium auf verschiedene Zellen verteilt werden, um alsdann die gewünschten Werte "FETT" zu formatieren.
Hier mein Beispiel:
https://www.herber.de/bbs/user/93224.xlsm
Auf einen Makro habe ich verzichtet, da solcher exakt auf die Mappenstruktur abgestellt werden müsste.
Mit freundlichem Gruß
Peter Kloßek

AW: Von-Datum innerhalb von Zellen suchen
18.10.2014 01:58:24
Zellen
Hi Peter
mein Makro funktoniert schon.
du musst aber auch für den linken Begrenzer das richtige Zeichen bereitstellen, bzw verwenden.
in Werners Eingangsbeispiel waren die Daten so angeordnet:
1x03003 (30.10.2013),
1x03040 (30.10.2013),
1x32006 (13.11.2013),
1x32042 (14.11.2013),

dh mit einem Zeilenumbruch zwischen den einzehlen Datensätzen, daher habe ich diesen verwendet um die linke Begrenzung für den fetten bereich zu finden.
in deiner Beispieldatei hingegen sind die Daten so angeordnet (wenn man die Spaltenbreite etwas vergrössert):
1x03003 (30.10.2013),   1x03040 (30.10.2013),  1x32006 (13.11.2013),  1x32042 (14.11.2013)

dh ohne Zeilenumbruch. In deinem Fall musst du daher ein anderes Begrenzungszeichen finden, hier würde sich das Komma anbiegen.
Wenn deine Daten anders aufgebaut sind als in der Eingangsfrage, dann kann es schon vorkommen, dass du Anpassungen im Code vornehemen musst, damit der Code auch in deiner Datei läuft.
Erstze einfach in dieser Zeile:
Pos = InStrRev(txt, vbLf, Pos) + 1

den Zeilenumbruch vbLf durch das Komma:
Pos = InStrRev(txt, ",", Pos) + 1

dann funktioniert der Code mit deiner Datei.
Gruß Daniel

Anzeige
AW: Von-Datum innerhalb von Zellen suchen
18.10.2014 14:37:45
Zellen
Hallo Daniel,
schönen Dank für Deinen Hinweis. Mit der Änderung klappt das ganz ausgezeichnet.
M.f.G. Peter Kloßek

AW: Von-Datum innerhalb von Zellen suchen
20.10.2014 08:12:29
Zellen
Guten Morgen!
Erst mal DANKE für die zahlreichen Beiträge.
Ich schaue heute danach und melde mich dann.
Gruß
Werner

AW: Von-Datum innerhalb von Zellen suchen
20.10.2014 10:36:47
Zellen
Hallo zusammen!
Soweit so genial. ;-)
Läuft prima.
Gibt es denn evtl. eine Möglichkeit, dass der "fette Text" in jeweils in die Nachbarzelle kopiert wird?
Gruß
Werner

AW: Von-Datum innerhalb von Zellen suchen
20.10.2014 10:59:50
Zellen
Hi
dann ergänze mal im letzen IF-Block:
Zelle.Offset(0, 1).Value = Mid$(txt, Pos)
Gruß Daniel

Anzeige
AW: Von-Datum innerhalb von Zellen suchen
20.10.2014 11:13:05
Zellen
Jepp. Klappt.
Super!!!
Ich hoffe es ist nicht zu unerverschämt wenn ich noch eine Frage hinterher schiebe...
Kann man die Datumsangaben aus der Nachbarzelle entfernen?
Ich brauche für weitere Berechnungen nämlich dann "nur" die Daten wie in folgendem Beispiel:
Ergebnis in Nachbarzelle: 1x01410 (09.12.2013), 1x03230 (09.12.2013), 1x40224 (09.12.2013)
Datum mit Klammer kann jeweils weg.
Also "nur"
1x01410, 1x03230, 1x40224
Gruß und nochmals DANKE

317 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige