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

Problem mit Suchfunktion in vba

Problem mit Suchfunktion in vba
23.11.2006 08:35:42
Alexander
Hy,
ich möchte eine Suchfunktion!
Wie folgt:
In Sheet 'Sammeln' habe ich eine Liste, drei Spalten, aus der er den Wert aus Zelle 1 und Zelle 3 in Sheet Import_Kunde finden soll und dann die Zeile ausschneiden in Sheet 'Import_Kunde'.
Problem für ist aber, die Beiden Werte, die er finden soll stehen in der selben Zeile, in verschiedenen Spalten und können mehrmals vorkommen, aber in anderen kombinationen.
Es kann also nicht vorkommen, das in zwei oder Zeilen die selben daten stehen, nur andere.
lz_Lief = Letzte Zeile
Tabelle 'Sammeln'
Spalte 1 Spalte 2 Spalte 3
123456 445544554 55545587
1225458 457855455 63556554
12545588 5455875 85454567
Tabelle 'Import_Kunde'
Spalte F (Wert aus Spalte 3) Spalte T (Wert aus Spalte 1)
55545587 123456
85454567 12545588
Mein Code:
For t = lz_Lief To 4 Step -1
Such = Cells(t, 1).Text 'Suche setzten
Such2 = Cells(t, 3).Text 'Suche setzten
With Worksheets("Import_Baur").Range("F1:T5000")
Set c2 = .Find(Such2, LookIn:=xlValues)
Set c = .Find(Such, LookIn:=xlValues)
If Not c Is Nothing And Not c2 Is Nothing Then
firstaddress = c.Address
firstaddress2 = c2.Address
If firstaddress firstaddress2 Then
!!!!!!!!!!!!!!!!
!!!!!Leider sinddie immer Unterschiedlich $T$246 und $F$246
!!!!!!!!!!!!!!!!!
Set c = .FindNext(c)
firstaddress = c.Address
Application.Run "Ausschneiden"
Else
Application.Run "Ausschneiden"
End If
End If
End With
Next t
End Sub
Sub Ausschneiden()
Bereich = Mid(firstaddress, 4, 4)
Sheets("Import_Baur").Select
Rows(Bereich).Select
Selection.Cut
Sheets("verplant").Select
Range("a" & t).Select
ActiveSheet.Paste
Sheets("Sammeln").Select
Rows(t).Delete Shift:=xlUp

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Problem mit Suchfunktion in vba
23.11.2006 17:40:37
fcs
Hallo Alexander,
grundsätzlich muss du bei deiner Suche ja Vergleichen, ob die Zeilen der gefundenen Zellen identisch sind.
Da die Suchbegriffe ja mehrmals im Suchbereich vorkommen können, muss du meiner Meinung nach das Ganze in zwei Schleifen schachteln. Für jede mit Begriff such gefundene Zelle c muss du immer wieder alle Zellen nach Begriff such2 durchsuchen.
Außerdem solltest du die Parameter an die Prozedur "Ausschneiden" als Variablen übergeben, oder die paar Zeilen direkt im Hauptcode einbauen.
Ungetestet könnte der Code etwa so aussehen, wobei ich mir nicht 100% sicher bin, ob die Verschachtelung der beiden Find-Anweisungen so reibungslos funktioniert.
Gruß
Franz

Sub test()
Dim c As Range, c2 As Range
For t = lz_Lief To 4 Step -1
such = Cells(t, 1).Text 'Suche setzten
such2 = Cells(t, 3).Text 'Suche setzten
With Worksheets("Import_Baur").Range("F1:T5000")
Set c = .Find(such, LookIn:=xlValues)
Set c2 = .Find(such2, LookIn:=xlValues)
If Not c Is Nothing And Not c2 Is Nothing Then
firstaddress = c.Address
Do
Set c2 = .Find(such2, LookIn:=xlValues)
firstaddress2 = c2.Address
Do
If c.Row = c2.Row Then 'Suchbegriffe in gleicher Zeile gefunden
Call Ausschneiden(c.Row, t)
GoTo nexte_t
End If
Set c2 = .FindNext(c2)
Loop Until c2.Address = firstaddress2 Or c2 Is Nothing
Set c = .Find(What:=such, After:=c, LookIn:=xlValues)
Loop Until c.Address = firstaddress Or c Is Nothing
MsgBox "keine Übereinstimmung für " & such & " und " & such2 & "gefunden."
End If
End With
nexte_t:
Next t
End Sub
Sub Ausschneiden(ByRef Zeile As Integer, ByVal Zaehler As Integer)
Sheets("Import_Baur").Select
Rows(Zeile).Select
Selection.Cut
Sheets("verplant").Select
Range("a" & Zaehler).Select
ActiveSheet.Paste
Sheets("Sammeln").Select
Rows(Zaehler).Delete Shift:=xlUp
End Sub

Anzeige

134 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige