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

Forumthread: Daten finden und ersetzen

Daten finden und ersetzen
Bernd
Hallo ,
habe längere Zeit in VBA nichts gemacht nun stehe ich vor folgender Aufgabe. Wir wollen im Unternehmen Besetzungen besser auswerten. Die Daten liegen in Excel vor.
With Sheets("PersStammdatei")
.Activate
For z = 2 To .Range("A65536").End(xlUp).Row
If .Cells(z, 2).Value = "E" Then ' es wird geprüft ob das Kennzeichen des Datensatzes E lautet
persn = .Cells(z, 1).Value 'übertragen in eine Variable
With Sheets("Datenstellen") 'In der anderen Tabelle wird nach der Variable gesucht.
For y = 2 To .Range("AC65536").End(xlUp).Row
If .Cells(y, 29).Value = persn Then .Cells(y, 29).Value = "" 'Wird dort die Variable gefunden, dann wird die Celle mit "leer" gesetzt.
Next
End With
Cells(z, 2).EntireRow.Select
Selection.Delete Shift:=xlUp
geloescht = geloescht + 1
End If
Next
End With
Soweit funktioniert es gut. Es gibt aber Fälle dort steht in der Zelle mehrere "persn" getrennt durch ein Leerzeichen oder ein Alt-Return. das Programm soll dann in dieser Zelle die eine pers nummer finden und nur diese eliminieren.
Kann mir da jemend einen Tip geben?
Danke
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Daten finden und ersetzen
27.04.2012 10:27:32
Sheldon
Hallo Bernd,
so:
If InStr(CStr(.Cells(y, 29).Value), pern) > 0 Then Replace(.Cells(y, 29).Value, pnr, "")
Das entfernt allerdings nicht das Leerzeichen, bzw. Alt-Return. Wenn zumindest immer das gleiche Trennzeichen in einer Zelle benutzt wird, dann so:
If InStr(CStr(.Cells(y, 29).Value), pern) > 0 Then
.Cells(y, 29).Value = Replace(.Cells(y, 29).Value, persn, "")
.Cells(y, 29).Value = Replace(.Cells(y, 29).Value, " ", " ")
.Cells(y, 29).Value = Replace(.Cells(y, 29).Value, Chr(10) & Chr(10), Chr(10))
End If
Gruß
Sheldon
Anzeige
AW: Daten finden und ersetzen
27.04.2012 14:13:44
Bernd
Danke Sheldon,
das probiere ich aus.
Das ähnliche Problem hätte ich ja, fiel mir heute ein, wenn der Nutzer mehrere pern-Nummern in ein Textfeld auf einer Userform eingibt. da muss ich mal sehen wie ich das noch löse.
Dein Code entfernt die Eintragung in der Celle die gleich dem Inhalt der variablen Pern ist. Richtig?
Ich melde mich nochmal, wenn ich Probleme habe.
Anzeige
AW: Daten finden und ersetzen
27.04.2012 14:37:56
Sheldon
Hi Bernd,
richtig, der Code entfernt die PerNr, die mit dem Inhalt der Variable übereinstimmt. Mehrere Pern in der Textbox müsste dann die entsprechende Routine in einer Schleife starten, wobei die Anzahl Durchläufe von der Anzahl der Trennzeichen bestimmt wird (plus 1, weil bei einem Eintrag normalerweise kein Trennzeichen eingegeben wird). Da musst du dann nur vorher noch den Eingabetext aufteilen am Besten in ein Array, damit du in jedem Schleifendurchlauf eine andere Pern verarbeitest. Dazu kannst du ja mal einen Blick in diesen Beitrag werfen.
Gruß
Sheldon
Anzeige
AW: Daten finden und ersetzen
27.04.2012 15:28:59
Bernd
Eh Super,
das sieht interessant aus. Werde ich mich in den nächsten Tagen mit beschäftigen.
Erst einmal Danke
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige