Excel - Zeichen suchen und Text bis dahin kopieren
Hallo zusammen
wieder einmal eine weitere Frage von mir
Diesmal geht es um Excel und VBA. Ich habe einen Auftrag, bei dem ich unter Anderem in einer Zelle ein Raute-Zeichen oder einen Abstand (je nachdem) suchen muss, den Text vor diesem Zeichen in ein Array und den Text danach in ein anderes Array speichern muss.
Nur habe ich keine Ahnung, wie das geht und irgendwie muss es ja gehen... Wäre sehr froh über eine baldige Antwort...
wieder einmal eine weitere Frage von mir
Diesmal geht es um Excel und VBA. Ich habe einen Auftrag, bei dem ich unter Anderem in einer Zelle ein Raute-Zeichen oder einen Abstand (je nachdem) suchen muss, den Text vor diesem Zeichen in ein Array und den Text danach in ein anderes Array speichern muss.
Nur habe ich keine Ahnung, wie das geht und irgendwie muss es ja gehen... Wäre sehr froh über eine baldige Antwort...
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 37954
Url: https://administrator.de/contentid/37954
Ausgedruckt am: 25.11.2024 um 02:11 Uhr
19 Kommentare
Neuester Kommentar
Hi,
A1: 123asc#as232
Für den Text vor der Raute:
=LINKS(A1;FINDEN("#";A1)-1)
Für den Text nach der Raute:
=RECHTS(A1;LÄNGE(A1)-FINDEN("#";A1))
Psycho
A1: 123asc#as232
Für den Text vor der Raute:
=LINKS(A1;FINDEN("#";A1)-1)
Für den Text nach der Raute:
=RECHTS(A1;LÄNGE(A1)-FINDEN("#";A1))
Psycho
Hi,
ja, das mit dem unklar Ausdrücken ist ein Problem
Was soll denn am Ende mit den entstandenen Werten passieren?
Psycho
ja, das mit dem unklar Ausdrücken ist ein Problem
Was soll denn am Ende mit den entstandenen Werten passieren?
Psycho
Erstmal zur Erklärung: Eine Zeichenkette (String) ist bereits ein Array, welches aus einzelnen Zeichen besteht, welche über ihren Index angesprochen werden können:
Bsp.
Mein_Feld = "Psycho Dad"
Ein_Zeichen = Mein_Feld(3)
Ein_Zeichen ==> "y"
Und nun zu dir: Ich bin mir sicher, dir helfen zu können. Dazu sind dann aber doch genauere Angaben nötig. In welcher (welchen) Zellen stehen die zu analysierenden Daten?
In was für ein Dokument sollen die "Zieldaten" gespeichert werden. Wenn es sich hier auch um eine Excel-Tabelle handelt, geht es auch ohne Makro.
Beschreib dein Vorhaben mal etwas genauer!
Psycho
P.S. Klingt ja ganz schön Oberlehrermäßig -> Sorry 8-)
Bsp.
Mein_Feld = "Psycho Dad"
Ein_Zeichen = Mein_Feld(3)
Ein_Zeichen ==> "y"
Und nun zu dir: Ich bin mir sicher, dir helfen zu können. Dazu sind dann aber doch genauere Angaben nötig. In welcher (welchen) Zellen stehen die zu analysierenden Daten?
In was für ein Dokument sollen die "Zieldaten" gespeichert werden. Wenn es sich hier auch um eine Excel-Tabelle handelt, geht es auch ohne Makro.
Beschreib dein Vorhaben mal etwas genauer!
Psycho
P.S. Klingt ja ganz schön Oberlehrermäßig -> Sorry 8-)
Hi,
also wenn das so ist, würde ich folgende Variante wählen:
Du benutzt die beiden Formeln und kopierst sie nach unten.
Dann markierst du die Ergebnisse und kopierst sie in die Zwischenablage.
Nun öffnest du das neue Dokument und gehst über das Menü Bearbeiten -> Inhalte einfügen -> Werte.
Das geht meiner Meinung nach am schnellsten.
Psycho
also wenn das so ist, würde ich folgende Variante wählen:
Du benutzt die beiden Formeln und kopierst sie nach unten.
Dann markierst du die Ergebnisse und kopierst sie in die Zwischenablage.
Nun öffnest du das neue Dokument und gehst über das Menü Bearbeiten -> Inhalte einfügen -> Werte.
Das geht meiner Meinung nach am schnellsten.
Psycho
Moin,
klar geht das. Du öffnest beide Dokumente und wechselst über das Menü Fenster hin und her.
Psycho
klar geht das. Du öffnest beide Dokumente und wechselst über das Menü Fenster hin und her.
Psycho
Moin,
theoretisch geht alles! Aber was du jetzt möchtest, geht schon weit über das hinaus, was ich unter einen Tipp im Forum geben verstehe! Sollte ich etwas Zeit und meine soziale Ader finden, lässt sich da vielleicht was machen.
Psycho
theoretisch geht alles! Aber was du jetzt möchtest, geht schon weit über das hinaus, was ich unter einen Tipp im Forum geben verstehe! Sollte ich etwas Zeit und meine soziale Ader finden, lässt sich da vielleicht was machen.
Psycho
Moin Päscu,
VB ist ja nicht gerade mein Fachgebiet,...
Aber ein erstes Zusammendampfen Deines Ansatzes ergibt diesen Basis-Schnipsel:
Wenn also in der ersten Spalte diese Strings a la "U5466S#4NK" stehen, werden in die zwei Spalten rechts daneben "U5466S" und "4NK" geschrieben.
Und zwar ROWMAX = 5000x.
Hope that Helps
Biber
VB ist ja nicht gerade mein Fachgebiet,...
Aber ein erstes Zusammendampfen Deines Ansatzes ergibt diesen Basis-Schnipsel:
Sub SubstringGeraffel()
Const ROWMAX = 5000
Dim i, nRow As Long
For nRow = 1 To ROWMAX
i = InStr(1, Cells(nRow, 1), "#")
If i > 0 Then
Cells(nRow, 2) = Mid(Cells(nRow, 1), 1, i - 1)
Cells(nRow, 3) = Mid(Cells(nRow, 1), i + 1)
End If
Next
End Sub
Wenn also in der ersten Spalte diese Strings a la "U5466S#4NK" stehen, werden in die zwei Spalten rechts daneben "U5466S" und "4NK" geschrieben.
Und zwar ROWMAX = 5000x.
Hope that Helps
Biber