Thema Datum  Von Nutzer Rating
Antwort
Rot find lässt mich verzweifeln
09.01.2014 16:06:33 Andi
NotSolved
09.01.2014 18:32:45 Gast97984
NotSolved
10.01.2014 08:10:26 Gast30503
NotSolved
10.01.2014 13:58:10 Gast75710
NotSolved

Ansicht des Beitrags:
Von:
Andi
Datum:
09.01.2014 16:06:33
Views:
1640
Rating: Antwort:
  Ja
Thema:
find lässt mich verzweifeln

Hallo,

ich bin absoluter vba-Anfänger und habe ein Problem, bei dem ihr mir bestimmt helfen könnt.

 

Ich habe in Excel verschiedene Blätter (A,B,CD,E,.....,TUV,W,XYZ). Alle Blätter sind gleich aufgebaut. Jetzt möchte ich per vba die einzelnen Zeilen der Blätter auslesen lassen und auf 3 Kriterien Prüfen (Verkäufer, Lieferant, Produkt). Ich habe es schon hinbekommen, dass mir die Liste ausgegeben wird, wenn ich nur ein Kriterium auslesen lasse (z.B. Verkäufer). Wenn ich aber weitere Kriterien einfügen will, klappt das Ganze nicht mehr. Ich bekomme dann immer die gleiche Liste, wie wenn ich nur einen Verkäufer auslesen lasse.

Verkäufer ist in Spalte Q, Lieferant in Spalte E und das Produkt in Spalte F. Wenn alle drei Kriterien gleich der Vorgabe sind, soll die Zeile in das Blatt Selektionen kopiert werden. Die Vorgaben werden in den Zellen E2=Verkäufer, E3=Lieferant, E4=Produkt gemacht.

 

So weit bin ich schon gekommen: 

 

Option Explicit
 
Public Sub Selektionen()
Dim wksZ As Worksheet
Dim Zelle As Range
Dim FirstAddress As String
Dim lngC As Long
Dim sSuchbegriff As String
Dim WSArr As Variant
Dim I As Long
Dim J As Long
 
Set wksZ = Worksheets("Selektionen")
lngC = 10
sSuchbegriff = Range("E2").Value
WSArr = Array("A", "B", "CD", "E", "F", "G", "H", "IJ", "K", "L", "M", "NO", "PQ", "R", "S", "Sch", "St", "TUV", "W", "XYZ")
 
For I = LBound(WSArr) To UBound(WSArr)
With Worksheets(WSArr(I)).Range("Q:Q")
    Set Zelle = .Find(sSuchbegriff, LookIn:=xlValues, lookat:=xlPart)
        If Not Zelle Is Nothing Then
        FirstAddress = Zelle.Address
        Do
        Zelle.EntireRow.Copy Destination:=wksZ.Cells(lngC, 1)
        lngC = lngC + 1
        Set Zelle = .FindNext(Zelle)
        Loop While Not Zelle Is Nothing And Zelle.Address <> FirstAddress
    End If
End With
Next I
 
 
Application.ScreenUpdating = True
 
 
ActiveSheet.Cells.FormatConditions.Delete
 
End Sub
 
 
Wo ist jetzt mein Denkfehler? Kann mir jemand von Euch helfen? Vielen Dank im Voraus.
 

Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot find lässt mich verzweifeln
09.01.2014 16:06:33 Andi
NotSolved
09.01.2014 18:32:45 Gast97984
NotSolved
10.01.2014 08:10:26 Gast30503
NotSolved
10.01.2014 13:58:10 Gast75710
NotSolved