Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1100to1104
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

Wert suchen und ersetzen

Wert suchen und ersetzen
VBAmateur
Hallo an alle,
bin noch Neuling in VBA und hier im Forum, und hoffe ich mache nicht zuviel falsch.
Ich habe ein Problem das ich auch nach vielen Stunden probieren mit meinen mageren Kenntnissen nicht lösen konnte. Hoffentlich kann mir jemand helfen.
Ich habe 10 Spalten von denen 3 in mehreren Zeilen den Wert "&" enthalten. Ich weiss aber vorher nicht welche.
Ich habe 3 Spalten die Werte enthalten die dort stehen sollten wo jetzt das "&" steht. Diese Spalten sind benannt mit "Parameter1", Parameter2" und Parameter3"
Ich versuche folgendes:
1. Erste Spalte suchen/finden die den Wert "&" enthält.
2. Diese Zeichen ersetzen durch den Wert der in der gleichen Zeile in Spalte "Parameter1" steht.
3. Zweite Spalte suchen/finden die den Wert "&" enthält.
4. Diese Zeichen ersetzen durch den Wert der in der gleichen Zeile in Spalte "Parameter2" steht.
5 . Ebenso verfahren für die Werte in Spalte "Parameter3"
Ich bedanke mich für jede Hilfe.
Vielen Dank.
Michael

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Hier eine Beispiel-Datei
13.09.2009 17:08:51
VBAmateur
Hallo Adelhorst,
vielen Dank für deine schnelle Antwort!
Ich werde mir deine Lösung anschauen und mich nochmal melden.
tschau
Michael
AW: Wert suchen und ersetzen
13.09.2009 16:09:40
Adelhorst
Hallo Michael.
Noch eine Beispiel-Lösung. Schau mal, ob diese deinen Anforderungen gerecht wird.
(Hatte dies beim ersten Beispiel nicht beachtet:
Zitat:
"Diese Zeichen ersetzen durch den Wert der in der gleichen Zeile steht...."
)
https://www.herber.de/bbs/user/64384.xls
Gruß Adelhorst
Anzeige
AW: Wert suchen und ersetzen
13.09.2009 17:44:46
VBAmateur
Hallo Adelhorst,
ich habe mir deine Lösungen mal angeschaut. Vielen Dank dafür.
Leider ist das noch nicht ganz was ich benötige.
Ausgehend von deinem zweiten Beispiel sollte folgendes Ergebnis geliefert werden:
Erstes (Spalte B) "&" wird ersetzt durch „ersatz11“
Zweites u. drittes (Spalte C) "&" wird ersetzt durch ersatz22 und ersatz27
Drittes "&" (Spalte D) wird ersetzt durch ersatz31
Meine Anfrage war hier wohl nicht präzise genug.
Der erste oder die ersten gefundenen "&" (Spalte B) können NUR durch Werte der ersten ERSATZ Spalte ersetzt werden.
Die nächsten "&" (Spalte C) können NUR durch Werte aus der zweiten ERSATZ Spalte ersetzt werden, die nächsten (Spalte D) nur durch Werte aus der dritten ERSATZ Spalte.
Folgenden Lösungsansatz hatte ich mir ausgedacht aber nicht realisieren können:
Erste Spalte die ein oder mehrere "&" enthält benennen „Param.1“, zweite Spalte die ein oder mehrere "&" enthält benennen „Param.2“. Und die dritte Spalte die ein oder mehrere "&" enthält benennen „Param.3“.
Nun die "&" die in Spalte „Param.1“ stehen durch die Werte ersetzen die in der Spalte „Parameter1“ in der gleichen Zeile stehen.
Ebenso verfahren für die Spalten „Param.2“ und „Param.3“.
Leider bin ich mit meinem Wissen noch weit davon entfernt das umsetzen zu können.
Tschau
Michael
Anzeige
AW: Wert suchen und ersetzen
13.09.2009 19:07:53
Tino
Hallo,
versuche es mal mit diesem Code.
Tabellenname noch anpassen.
Sub Beispiel()
Dim lColumn As Range, A As Long, B As Long
Dim varAr, varSpalte, tempSpalte


With Sheets("Tabelle1").UsedRange 'Tabellennamen anpassen 
 
 Set lColumn = .Rows(1)

 For A = 1 To .Rows.Count
    varSpalte = Application.Match(CStr("Parameter" & A), lColumn, 0)
    
    If Not IsNumeric(varSpalte) Then Exit For 'keine Spalte mehr 
   
        varAr = .Columns(varSpalte)

        For B = 1 To Ubound(varAr)
         tempSpalte = Application.Match("&", varAr, 0)
         If Not IsNumeric(tempSpalte) Then Exit For 'kein & in Spalte mehr 
         varAr(tempSpalte, 1) = ""
        Next B
   
         .Columns(varSpalte) = varAr
 
 Next A


End With

End Sub
Gruß Tino
Anzeige

330 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige