Anzeige
Archiv - Navigation
1260to1264
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
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

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
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

304 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige