Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
860to864
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
860to864
860to864
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Liste durchsuchen und ergebniszeilen in neues Blat

Liste durchsuchen und ergebniszeilen in neues Blat
17.04.2007 13:46:13
richard
Morgen,
ich war vor ca. 2,5 Jahren schon häufiger gast hier und mußte heute mit erschrecken feststellen, dass mein Wissen von damals nur noch sehr rudimentär ist.
Ich habe folgendes Problem:
Es gibt eine Liste mit ca. 3500 Zeilen Spaltes gehen bis Z
Ich würde gerne für Anwender eine Komfortable Suchmaske erstellen. Auf einem extra Blatt wird der zu suchende Begriff eingetragen. Dann werden alle Zeilen, in denene dieser Wert vorkommt, aus der Original Liste rauskopiert, und untereinander ausgewiesen (es wäre schön, wenn man nicht die ganze Zeile kopieren würde, sondern nur bestimmte Spalten. Also nicht Komplette Zeile 13, sondern A:13, D:13, F:13)
Das ist der Code, den ich bislang hab. Dabei funktioniert noch nicht das einlesen des Eingabebefehls und mir ist noch unklar, wie ich die Anzahl der Schleifen für den Kopiervorgang steuern kann. Man müßte ja vorher irgendwie die Anzahl an Zeilen ermitteln, in denen der Suchbegriff vorkommt.
Bin für jeglich Hilfe dankbar

Private Sub CmdSuchen_Click()
Dim EingabeWert
Dim SuchWert
Dim i, n
'Eingabewert auslesen
EingabeWert = Worksheets("Transfer").Range("G6")
'MsgBox (SuchWert)
n = ?
For i = 1 To n
Sheets("A+B+C NW").Select
Selection.Find(What:="*" & Eingabewert & "*", After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Activate
Selection.Copy
Sheets("Transfer").Select
Rows("13:" & 13 + i).Select
ActiveSheet.Paste
Next i
End Sub


gruß richard

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Liste durchsuchen und ergebniszeilen in neues
17.04.2007 13:49:00
Jan3
Hi richard,
Stell mal ein konkretes Beispiel ins Forum.
Jan

AW: Liste durchsuchen und ergebniszeilen in neues
17.04.2007 13:58:00
richard
Hi,
sieht so aus
Sheet(Stammdaten)
SpalteA SpalteB SpalteC SpalteD
1.............Meier........7634.......Hannover
2.............Schulz.......5634.......Berlin
2.............Seppel.......1254.......Düsseldorf
3.............Ricardo......1634.......München
3.............Schulz.......3834.......Berlin
4.............Meier......1239.......Stuttgart
5.............Diether......12523......Berlin
5.............Helmut.......1234.......Düsseldorf
Der User gibt jetzt den Suchbegriff "Meier" in ein definiertes Feld auf Sheet(Ergebnis) ein, drückt auf nen Button und es geschieht folgendes. Die Liste wird durchsucht und jede Zeile, in der Meier vorkommt wird auf Shett(ergebnis) untereinander kopiert. Dabei kann der begriff beliebig oft vorkommen.
Ergebnis:
1.............Meier........7634.......Hannover
4.............Meier......1239.......Stuttgart
Ideal wäre es jetzt noch, wenn die Spalte C dabei nicht mitkopiert werden würde (kann man eventuell im Nachgang automazisch löschen lassen bzw. auf dem Shett(Ergebnis einfach ausblenden)
Ich hoffe so ist es verständlich
Gruß Richard

Anzeige
AW: Liste durchsuchen und ergebniszeilen in neues
17.04.2007 14:03:00
Ulrich
Also ich weiß nicht ob ich dir hiermit helfen kann, aber das müsste die Funktion sein die du suchst, musst sie aber noch anpassen an den bereich der durchsucht werden soll. Bei mir ist es die komplette Spalte "H" angefangen von der 5 Zeile. Hoffe das hilft dir weiter.
Public maxcell As Integer

Private Sub CommandButton1_Click()
Dim Key As String
Dim filterK() As Variant
Dim counterK As Integer
Dim Acell As Integer
Range("DU5:DU9000").Clear
Selection.AutoFilter Field:=125, Criteria1:="1", Operator:=xlAnd
Key = Me.TextBox1.Value
If Key  "" Then
Worksheets(1).Select
counterK = 0
Do
temp = ActiveSheet.Range("H" & Acell).Value
If InStr(1, temp, Key, 1)  0 Then
counterK = counterK + 1
ReDim Preserve filterK(1 To counterK)
filterK(counterK) = Acell
End If
Acell = Acell + 1
Loop While temp  ""
maxcell = Acell
Acell = 5
Do
temp = ActiveSheet.Range("I" & Acell).Value
If InStr(1, temp, Key, 1)  0 Then
counterK = counterK + 1
ReDim Preserve filterK(1 To counterK)
filterK(counterK) = Acell
End If
Acell = Acell + 1
Loop While Acell  0 Then
counterK = counterK + 1
ReDim Preserve filterK(1 To counterK)
filterK(counterK) = Acell
End If
Acell = Acell + 1
Loop While Acell  0 Then
Range("DU" & filterK(1)).Select
For iCounter = 1 To UBound(filterK)
Union(Selection, Range("DU" & filterK(iCounter))).Select
Next iCounter
For Each Zelle In Selection.Cells
Zelle.Value = "1"
Next
entries = Selection.Cells.Count
files_sum = maxcell - 4
filterWin.Label1.Caption = entries & " of " & files_sum & " Files"
Range("H5").Select
Selection.AutoFilter Field:=125, Criteria1:="1", Operator:=xlAnd
Range("H2").Value = "keyword filter active: "
Else
filterWin.Label1.Caption = "no match"
Range("H2").Value = "keyword filter active:  (no matches)"
End If
Range("H5").Activate
ActiveWindow.ScrollRow = ActiveWindow.ActiveCell.Row
Application.ScreenUpdating = True
End Sub



Private Sub UserForm_Initialize()
maxcell = 10000
End Sub


Anzeige
AW: Liste durchsuchen und ergebniszeilen in neues
17.04.2007 14:22:00
richard
puhhh. kannst du mir in kurzen Worten erklären, was da passiert?
Danke und Gruß
Richard

AW: Liste durchsuchen und ergebniszeilen in neues
17.04.2007 14:09:00
Ulrich
Sorry ich durchsuche die Spalte "H", "I", und "J".

AW: Liste durchsuchen und ergebniszeilen in neues
17.04.2007 14:33:21
richard
ok. du durchsucht die 3 Spalten und zählst, wie oft der Wert in der jeweiligen Spalte vorkommt. aber mir ist noch nicht ganz klar, was dann mit dem Ergebnis passiert, bzw. was das Unique:=False zu bedeuten hat.
ist wirklichsehr lang her bei mir....
Wäre es für meine Zwecke nicht schon ausreichend, wenn ich einen Autofilter über die Liste laufen lasse, und dann das selektierte Ergebnis (keine Ahnung wie das wieder gehen soll) kopiere, dann erspare ich mir das Abfangen und einzelne Rauskopieren.
Gruß Richard

Anzeige
AW: Liste durchsuchen und ergebniszeilen in neues
17.04.2007 15:08:12
Ulrich
Sorry das ich erst jetzt antworte, mit autofilter das würde bestimmt auch irgendwie gehen. schick mir mal ein Beispiel und ich versuch mal ob ich es programmiert bekomme, am besten eine Exceltabele mit parr Werten.

AW: Liste durchsuchen und ergebniszeilen in neues
17.04.2007 15:11:00
richard
mit viel clicken und probieren, plus der Anregung von dir habe ich inzwischen eine brauchbare Lösung gefunden

Private Sub Loeschen()
Sheets("Transfer").Select
Rows("17:10000").Select
Selection.Clear
End Sub



Private Sub CmdSuchen_Click()
Dim Wert1, Wert2, Wert3 As String
Dim Suchwert As String
Application.ScreenUpdating = False
Call Loeschen
Wert1= Worksheets("Transfer").Range("I6")
Wert2 = Worksheets("Transfer").Range("I7")
Wert3 = Worksheets("Transfer").Range("I8")
'MsgBox (EingabeWert)
Sheets("A+B+C NW").Select
Selection.AutoFilter Field:=4, Criteria1:="=*" & Wert1 & "*", Operator:=xlAnd
Selection.AutoFilter Field:=6, Criteria1:="=*" & Wert2 & "*", Operator:=xlAnd
Selection.AutoFilter Field:=3, Criteria1:="=*" & Wert3 & "*", Operator:=xlAnd
ActiveSheet.UsedRange.SpecialCells(xlCellTypeVisible).Copy
Sheets("Transfer").Select
Rows("16:16").Select
ActiveSheet.Paste
Application.ScreenUpdating = True
End Sub


Gibts da noch Verbesserungsvorschläge?
Gruß Richard

Anzeige
AW: Liste durchsuchen und ergebniszeilen in neues
17.04.2007 15:25:00
Ulrich
Kann ich so nicht sagen, müsste wirklich mal eine Datei sehen um zu verstehen wie du das genau meinst.
Bzw. kann ich davon ausgehen das es so ist wie du in dem einen Beispiel gezeigt hast? Wenn ja probier ich mal was zu bauen.

AW: Liste durchsuchen und ergebniszeilen in neues
17.04.2007 16:47:49
Ulrich
Hey richard ich hätte jetzt unter umständen eine Lösung für die, musst mir einfach nur sagen wo ich die excel datei hinschicken soll. Also am besten ne email-Adresse

AW: Liste durchsuchen und ergebniszeilen in neues
18.04.2007 09:16:00
richard
die datei kann an folgende adresse:
richi_guard-wembley@yahoo.de

307 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige