Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Sonderzeichen Kod aus Zelle auslesen

Sonderzeichen Kod aus Zelle auslesen
15.02.2017 08:11:30
Kailash
Grüss Gott!
In A1 steht z.B. Chr(10)
ein Makro soll nach dem was in Zelle A1 steht suchen. Aber nicht nach Chr(10), sondern nach einem Zeilenumbruch.
Was muss man in die Zelle schreiben, dass das Makro es als Zeilenumbruch erkennt und nicht als Text? Oder wie muss man das im VBA Kod machen, dass normale Zeichen (Buchstaben, Wörter, Satzzeichen usw.) gesucht werden können UND solche ANSI Codes Chr(10) oder wie das heisst
In A2 steht der Text den das Makro anstelle des Textes in A1 austauschen soll.
Das Makro sieht so aus:
Set RS = newData 'Replace Sheet: where you want to replace items
Set LS = ChangeColumns 'List Sheet: with replace-lists
LR = LS.Cells(Rows.Count, 11).End(xlUp).Row
With Application
.ScreenUpdating = False
AppCalcSet = .Calculation
.Calculation = xlCalculationManual
End With
For i = 7 To LR
RS.Cells.Replace what:=LS.Cells(i, 11), Replacement:=LS.Cells(i, 13), lookat:=xlWhole, MatchCase:=False
Next i
With Application
.ScreenUpdating = True
.Calculation = AppCalcSet
End With
Viele Grüsse
Kailash

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Sonderzeichen Kod aus Zelle auslesen
15.02.2017 08:27:36
Daniel
Hi
Am einfachsten ist, wenn in A1 nur die Zahl 10 steht.
Dann in Code:
...What:=Chr(LS.Cells(i, 11).value),...
Gruß Daniel
AW: Sonderzeichen Kod aus Zelle auslesen
15.02.2017 08:52:21
Kailash
Hallo Daniel!
Danke für den Tipp. Damit es aber Userfreundlicher wird, möchte ich in A1 auch ein Komma oder Wörter reinschreiben können. Und dann funktioniert das mit dem
...What:=Chr(LS.Cells(i, 11).value),...
vermutlich nicht.
Vielleicht hat jemand ja noch ne andere Idee.
Und noch ne Sache:
Kann man bei so was hier:
lookat:=xlWhole
das xlWhole durch ein Variable ersetzen oder durch einen Range, wo dieses Wort in einer Zelle steht?
Ich würde es dann so machen dass man per dropdown liste die replace Einstellung auswählen kann.
Dann würde ich die Einstellung in der Zelle in den Code einbinden. Weiss aber nicht wie.
Bisher habe ich das mit einer Wenn Abfrage gemacht. Also wenn z.B. A2 = xlwhole, dann ....(den ganzen kod eingefügt) das ist aber etwas umständlich. Vielleicht geht es ja einfacher.
Viele Grüsse
Kailash
Anzeige
Du willst also tatsächlich die Standardfunktion
15.02.2017 08:59:41
EtoPHG
Suchen und Ersetzen von Excel, durch einen eigene Ersetzen? Kailash
Ich verstehe einfach nicht, das man statt der 'einfachen' Schulung von Excel-Anwender solche VBA-Handstände vollführt, die mit Sicherheit in fehleranfälligem, nicht generischem (in allen Fällen anwendbarem), wartungsaufwändigem Code enden...und das Ganze noch bei Level Basiskenntnisse in VBA
Gruess Hansueli
AW: Sonderzeichen Kod aus Zelle auslesen
15.02.2017 09:44:56
Daniel
Hi
wenn du beides haben willst, musst du prüfen, ob eine Zahl oder Text in der Zelle steht.
bei einer Zahl verwendest du die Umwandlung mit CHR, bei einem Text verwendest du den Text direkt.
Dazu kannst du die Funktion IIF verwenden:
...What:=IIF(VarType(LS.Cells(i, 11).Value) = 5, Chr(LS.Cells(i, 11).Value), LS.Cells(i, 11).Value),...
Solltest du dann aber mal beispielsweise die Zahl 10 ersetzen wollen, müsstest du diese als Text eingeben, dh mit vorangestelltem Hochkomma.
Anzeige
AW: Sonderzeichen Kod aus Zelle auslesen
15.02.2017 09:48:40
Daniel
Hi
xlWhole und xlPart sind auch nur einfache Konstanten.
xlWhole steht für den Wert 1 und xlPart für den Wert 2
du kannst also in die Zelle A1 eine 1 oder eine 2 eintragen und dann kodieren:
... LookAt:=Range("A1").Value, ...
Gruß Daniel
Danke
16.02.2017 18:47:41
Kailash
Hallo Daniel!
Danke für die Hilfe, hat mich schon was weitergebracht.
Grüsse
Kailash

378 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige